Python将元组列表的第二部分合并到字符串列表中

时间:2016-01-19 05:40:24

标签: python string list tuples

我最近才开始学习Python,我看过类似的问题,似乎无法找到一个有用的例子 - 我目前有这个元组列表:

 [('E', ['E', 'F', 'C', 'C']), ('F', ['A', 'D', 'D', 'B']), ('I', ['F', 'D', 'F', 'D']), ('R', ['E', 'B', 'D', 'B']), ('S', ['B', 'C', 'C', 'D'])]

我希望将它们分成一个字符串列表,以便它们看起来像这样:

['EFCC', 'ADDB', 'FDFD', 'EBDB', 'BCCD']

我试图使用' .join'功能如下所示:

stringList = "".join([str(x[1]) for x in sortedList])

但这为我提供了一个表格列表:

['B', 'D', 'E', 'C']['B', 'C', 'B', 'D']['E', 'C', 'D', 'C']['B', 'C', 'D', 'C']['C', 'E', 'F', 'A']

我认为我使用的是错误的连接方法,但在更改了一些内容之后,我无法弄清楚如何获得我想要的格式。

3 个答案:

答案 0 :(得分:5)

您的问题是str(x[1])

x[1]是一个列表,您将其转换为字符串:

>>> x = ('E', ['E', 'F', 'C', 'C'])
>>> x[1]
['E', 'F', 'C', 'C']

>>> str(x[1])
"['E', 'F', 'C', 'C']"

您想要的是加入列表中的元素:

>>> ''.join(x[1])
'EFCC'

所以你的代码会变成:

[''.join(x[1]) for x in sortedList]

答案 1 :(得分:2)

使用列表推导并加入字符串,如下所示。

Cell

答案 2 :(得分:1)

您可以使用地图:

print map(lambda x: "".join(x[1]),t)

输出:

['EFCC', 'ADDB', 'FDFD', 'EBDB', 'BCCD']