我最近才开始学习 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']
我认为我使用的 join 方法有误,但在对其中的一些内容进行了一些更改后,我无法弄清楚如何获得我想要的格式。
最佳答案
你的问题是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]
关于Python 将元组列表的第二部分合并到字符串列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869234/