如何从对列表中返回一个字符串?

时间:2014-04-17 09:37:36

标签: python string list

我有一个带有单词和长度的对的列表

list = [("This", 4), ("is", 2), ("a", 1), ("string", 6)]

我需要返回一个由空格分隔的字符串,如

"This is a string"

我该怎么做?

3 个答案:

答案 0 :(得分:3)

你只需要得到每个元组的第一个元素(索引0),然后join将它们放在一起,所以:

' '.join(item[0] for item in lst)

是你想要的。

演示:

>>> lst = [("This", 4), ("is", 2), ("a", 1), ("string", 6)]
>>> new_string = ' '.join(item[0] for item in lst)
>>> print(new_string)
'This is a string'

哦,顺便说一句,不要命名变量list,这就是为什么我使用了不同的名字。它会影响内置。

答案 1 :(得分:2)

你可以这样做:

print ' '.join(i[0] for i in lst)

请将您的list变量命名为列表以外的其他内容,可能是lst。这是因为list是内置类型,如果您创建名为list的变量,则可以隐藏其方法。

实施例

lst = [("This", 4), ("is", 2), ("a", 1), ("string", 6)]

>>> print ' '.join(i[0] for i in lst)
'This is a string'

答案 2 :(得分:0)

试试这个,

>>> l = [("This", 4), ("is", 2), ("a", 1), ("string", 6)]
>>> ' '.join([i[0] for i in l])

输出:

'This is a string'