Python: Munging data with '.join' (TypeError: sequence item 0: expected string, tuple found)
Python: Munging data with '.join' (TypeError: sequence item 0: expected string, tuple found)
我有以下格式的数据:
[('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
关于如何转换整个列表的任何建议?
谢谢!
.join
需要一个字符串序列,但您给它的是一个元组序列。
要获得您发布的结果,您需要连接每个元组中的每个元素,然后将每个元组连接在一起:
print('\n'.join(''.join(elems) for elems in data))
这是有效的,因为 .join
将接受生成器表达式,允许您迭代 data
(您的元组列表)。
因此,我们有两个连接正在进行:内部连接构建一个包含三个字母的字符串(例如,'ABC'
),外部连接在它们之间放置换行符('\n'
)。
a = [('A', 'B', 'C'), ('B', 'C', 'A'), ('C', 'B', 'B')]
print ["".join(line) for line in a]
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', '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
关于如何转换整个列表的任何建议?
谢谢!
.join
需要一个字符串序列,但您给它的是一个元组序列。
要获得您发布的结果,您需要连接每个元组中的每个元素,然后将每个元组连接在一起:
print('\n'.join(''.join(elems) for elems in data))
这是有效的,因为 .join
将接受生成器表达式,允许您迭代 data
(您的元组列表)。
因此,我们有两个连接正在进行:内部连接构建一个包含三个字母的字符串(例如,'ABC'
),外部连接在它们之间放置换行符('\n'
)。
a = [('A', 'B', 'C'), ('B', 'C', 'A'), ('C', 'B', 'B')]
print ["".join(line) for line in a]
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]))
您必须首先到达列表中的每个元素。