1

鉴于以下情况:

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

我将如何获得表格中的列表

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

类似于:

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

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

4

4 回答 4

5
>>> tuple(second for first, second in li)
("'Conrad Clifton'", "'Rippa'")

并且不要将您的列表命名为list. 它是一种内置类型。您不应该使用内置名称来命名您的变量。

于 2013-02-10T23:28:05.750 回答
3
your_output = tuple(y for x,y in your_input)
于 2013-02-10T23:27:44.057 回答
3

另一种解决方案(python 2.x):

>>> x = [('[', "'Conrad Clifton'"), ('[', "'Rippa'")]
>>> zip(*x)[1]
("'Conrad Clifton'", "'Rippa'")

避免list用作变量名,它会隐藏内置名称。

于 2013-02-10T23:34:01.493 回答
0

你也可以使用operator.itemgetter

>>> import operator
>>> l = [('[', "'Conrad Clifton'"), ('[', "'Rippa'")]
>>> map(operator.itemgetter(1), l)
    ["'Conrad Clifton'", "'Rippa'"]
于 2013-02-10T23:37:43.817 回答