鉴于以下内容:
list = [('[', "'Conrad Clifton'"), ('[', "'Rippa'")]
我如何获得表格中的清单
[('Conrad Clifton', 'Rippa')]
类似于:
new_list = []
for first, second in list:
new_list.append(second)
然后将列表转换为元组。有没有办法用列表理解来做到这一点?
答案 0 :(得分:5)
>>> tuple(second for first, second in li)
("'Conrad Clifton'", "'Rippa'")
不要将您的列表命名为list
。这是一种内置类型。您不应该使用内置名称命名变量。
答案 1 :(得分:3)
your_output = tuple(y for x,y in your_input)
答案 2 :(得分:3)
另一种解决方案(python 2.x):
>>> x = [('[', "'Conrad Clifton'"), ('[', "'Rippa'")]
>>> zip(*x)[1]
("'Conrad Clifton'", "'Rippa'")
避免使用list
作为变量名称,它会隐藏内置名称。
答案 3 :(得分:0)
您也可以使用operator.itemgetter
:
>>> import operator
>>> l = [('[', "'Conrad Clifton'"), ('[', "'Rippa'")]
>>> map(operator.itemgetter(1), l)
["'Conrad Clifton'", "'Rippa'"]