web-dev-qa-db-ja.com

Pythonのリストから角括弧を削除するにはどうすればよいですか?

LIST = ['Python','problem','whatever']
print(LIST)

このプログラムを実行すると

[Python, problem, whatever]

出力からその角かっこを削除することは可能ですか?

32
Gregor Gajič

リストを直接印刷する代わりに、文字列に変換できます。

print(", ".join(LIST))

リスト内の要素が文字列でない場合、repr(文字列を引用符で囲む必要がある場合)またはstr(含まない場合)を使用して文字列に変換できます。

LIST = [1, "foo", 3.5, { "hello": "bye" }]
print( ", ".join( repr(e) for e in LIST ) )

出力が得られます:

1, 'foo', 3.5, {'hello': 'bye'}

はい、いくつかの方法があります。たとえば、リストを文字列に変換してから、最初と最後の文字を削除できます。

l = ['a', 2, 'c']
print str(l)[1:-1]
'a', 2, 'c'

リストに文字列のみが含まれており、引用符も削除する場合は、既に述べたようにjoinメソッドを使用できます。

25
Vicent

リストに番号がある場合は、mapを使用してstrを各要素に適用できます。

print ', '.join(map(str, LIST))

^ mapはCコードなので、str(i) for i in LISTよりも高速です

12
yedpodtrzitko
def listToStringWithoutBrackets(list1):
    return str(list1).replace('[','').replace(']','')
5
lahjaton_j