我有一个元组列表,其中元组中的所有元素都是字符串。它看起来像这样:
my_list = [('a', 'b', 'c'), ('d', 'e')]
我想将其转换为字符串,因此看起来像是' a b c d e'。我可以使用' ' .join(...)但我不确定我应该使用什么参数。
答案 0 :(得分:5)
您可以展平列表,然后使用join:
>>> import itertools
>>> ' '.join(itertools.chain(*my_list))
'a b c d e'
或列表理解:
>>> ' '.join([i for sub in my_list for i in sub])
'a b c d e'
答案 1 :(得分:2)
>>> my_list = [('a', 'b', 'c'), ('d', 'e')]
>>> ' '.join(' '.join(i) for i in my_list)
'a b c d e'
答案 2 :(得分:1)
您可以使用列表推导来迭代元组,然后迭代每个元组,返回项目以便加入。
my_list = [('a', 'b', 'c'), ('d', 'e')]
s = ' '.join([item for tup in my_list for item in tup])
列表理解等同于:
a = []
for tup in my_list:
for item in tup:
a.append(item)
答案 3 :(得分:1)
my_list = [('a', 'b', 'c'), ('d', 'e')]
L = []
for x in my_list:
L.extend(x)
print ' '.join(L)
output:
'a b c d e'
答案 4 :(得分:0)
my_list = [('a', 'b', 'c'), ('d', 'e')]
print "".join(["".join(list(x)) for x in my_list])
试试这个。
答案 5 :(得分:0)
列表理解是您问题的最佳单线解决方案: -
my_list = [('a', 'b', 'c'), ('d', 'e')]
s = ' '.join([elem for item in my_list for elem in item])