我有一个带有单词和长度的对的列表
list = [("This", 4), ("is", 2), ("a", 1), ("string", 6)]
我需要返回一个由空格分隔的字符串,如
"This is a string"
我该怎么做?
答案 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'