如何将多级列表转换为Python中的字符串列表?

时间:2016-01-26 14:06:08

标签: python list

我的列表看起来像这样:

List.reverse

我想创建另一个将a = [('A', 'V', 'C'), ('A', 'D', 'D')] 转换为:

的列表
a

我将如何继续这样做?

3 个答案:

答案 0 :(得分:33)

在列表推导中使用str.join()(适用于Python 2.x和3.x):

>>> a = [('A', 'V', 'C'), ('A', 'D', 'D')]
>>> [''.join(x) for x in a]
['AVC', 'ADD']

答案 1 :(得分:22)

您可以将str.join映射到tuple中的每个a

Python 2:

>>> map(''.join, a)
['AVC', 'ADD']

在Python 3中,map是一个可迭代的对象,因此您需要将其实现为list

>>> list(map(''.join, a))
['AVC', 'ADD']

答案 2 :(得分:6)

使用reduce是另一种选择:

>>> a = [('A','V','C'), ('A','D','D')]

在Python 2中:

>>> [reduce(lambda x, y: x + y , i) for i in a]
['AVC', 'ADD']

在Python 3中(感谢eugene的建议):

>>> from functools import reduce
>>> [reduce(lambda x, y: x + y , i) for i in a]
['AVC', 'ADD']