我有以下格式的数据:
[('A', 'B', 'C'),
('B', 'C', 'A'),
('C', 'B', 'B')]
我希望得到这个:
ABC
BCA
CBB
我当时能够转换一个元组:
>> "".join(data[0])
.. 'ABC'
然而,当我试图转换整个列表时,Python给了我一个错误:
>> "".join(data[:])
.. TypeError: sequence item 0: expected string, tuple found
有关我如何能够转换整个列表的任何建议吗?
谢谢!
答案 0 :(得分:10)
.join
需要一系列字符串,但是你给它一系列元组。
要获得您发布的结果,您需要加入每个元组中的每个元素,然后将每个元组连接在一起:
print('\n'.join(''.join(elems) for elems in data))
这是有效的,因为.join
将接受生成器表达式,允许您迭代data
(您的元组列表)。
因此我们有两个连接:内连接构建三个字母的字符串(例如,'ABC'
),外连接在它们之间放置换行符('\n'
)。
答案 1 :(得分:1)
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]))
您必须先到达列表中的每个元素。
答案 2 :(得分:0)
a = [('A', 'B', 'C'), ('B', 'C', 'A'), ('C', 'B', 'B')]
print ["".join(line) for line in a]