2

我有一个类似的清单

list_a = [(1, 2), (2, 3), (4, 5)]

现在使用这个列表,我想找到一个最后值为 3 的元素,有什么简短的方法可以实现这个吗?它应该返回(2,3)

4

3 回答 3

9

例如:

In [1]: list_a = [(1, 2), (2, 3), (4, 5)]

In [2]: next(x for x in list_a if x[1] == 3)
Out[2]: (2, 3)

请注意,它返回单个元素,而不是它们的列表(似乎是您要问的)。如果有多个元组,则返回第一个。

于 2013-02-14T09:58:19.987 回答
0
for item in list_a:
    if item[-1] == 3:
        return item

或者,如果您可能想要返回多个值:

return_list = []
for item in list_a:
    if item[-1] == 3:
        return_list.append(item)
return return_list
于 2013-02-14T09:57:45.513 回答
0

像这样简单的东西

for x in list_a: 
    if x[1] == 3: print x
于 2013-02-14T09:59:32.833 回答