私は次の形式のデータを持っています:
[('A', 'B', 'C'),
('B', 'C', 'A'),
('C', 'B', 'B')]
私はこれを手に入れようとしています:
ABC
BCA
CBB
一度に1つのタプルを変換できます。
>> "".join(data[0])
.. 'ABC'
ただし、リスト全体を変換しようとすると、Pythonはエラーになります:
>> "".join(data[:])
.. TypeError: sequence item 0: expected string, Tuple found
リスト全体を変換する方法についてアドバイスはありますか?
ありがとうございました!
.join
は文字列のシーケンスを想定していますが、タプルのシーケンスを指定しています。
投稿した結果を取得するには、各タプルの各要素を結合してから、各タプルを結合する必要があります。
print('\n'.join(''.join(elems) for elems in data))
これは、.join
はジェネレータ式を受け入れ、data
(タプルのリスト)を反復処理できるようにします。
したがって、2つの結合が進行中です。内側の結合は3文字の文字列を作成します(例:'ABC'
)、および外部結合は改行文字を配置します('\n'
) それらの間の。
lst=[('A', 'B', 'C'),
('B', 'C', 'A'),
('C', 'B', 'B')]
for x in lst:
print ("".join(x))
出力は;
>>>
ABC
BCA
CBB
>>>
一発ギャグ;
print ("\n".join(["".join(x) for x in lst]))
最初にリストの各要素に到達する必要があります。
a = [('A', 'B', 'C'), ('B', 'C', 'A'), ('C', 'B', 'B')]
print ["".join(line) for line in a]