拉链交替元素

时间:2013-02-10 23:25:48

标签: python

鉴于以下内容:

list = [('[', "'Conrad Clifton'"), ('[', "'Rippa'")]

我如何获得表格中的清单

[('Conrad Clifton', 'Rippa')]

类似于:

new_list = []
for first, second in list:
    new_list.append(second)

然后将列表转换为元组。有没有办法用列表理解来做到这一点?

4 个答案:

答案 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'"]