如何将元组列表转换为单个字符串

时间:2014-12-31 13:49:18

标签: python tuples

我有一个元组列表,其中元组中的所有元素都是字符串。它看起来像这样:

my_list = [('a', 'b', 'c'), ('d', 'e')]

我想将其转换为字符串,因此看起来像是' a b c d e'。我可以使用' ' .join(...)但我不确定我应该使用什么参数。

6 个答案:

答案 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])