您好我刚开始使用python并且有一个相当不错的问题。
我有一个如下所示的列表:
[(1.0, 'Test1'), (1,3 'Test2'), (1.4 'Test3')]
我怎样才能获得“Test1 Test2 Test3”作为回报?
最好的问候
答案 0 :(得分:2)
>>> L = [(1.0, 'Test1'), (1.3, 'Test2'), (1.4, 'Test3')]
>>> [x[1] for x in L]
['Test1', 'Test2', 'Test3']
>>> " ".join(x[1] for x in L)
'Test1 Test2 Test3'
您也可以使用itemgetter(1)
,但通常首选上述方法
>>> from operator import itemgetter
>>> " ".join(map(itemgetter(1), L))
'Test1 Test2 Test3'
答案 1 :(得分:0)
只是一个空格连接列表理解,抓住每个元组的最后一项,或者:
items = [(1.0, 'Test1'), (1,3 'Test2'), (1.4 'Test3')]
return " ".join([item[-1] for item in items])
答案 2 :(得分:0)
要获取列表['Test1', 'Test2', 'Test3']
,您可以执行以下操作:
list = [(1.0, 'Test1'), (1.3, 'Test2'), (1.4, 'Test3')]
newlist = []
for (key, value) in list:
newlist.append(value)
然后newlist
将为['Test1', 'Test2', 'Test3']
或者只是
newlist = [value for (key, value) in list]
这使用Python的元组解包来获取列表中每个元组的第二个元素。有关元组的详细信息,请参阅http://docs.python.org/2/tutorial/datastructures.html#tuples-and-sequences。
您可以使用'Test1 Test2 Test3'
创建字符串''.join
,其他答案提及:
' '.join(newlist)