从元组列表获取值

问题描述 投票:0回答:1

在检索值和获取匹配值的元组时遇到问题。

我有一个类似的元组

[(1, ['a', 'b', 'c', 'd']), 
 (2, ['e', 'f', 'g', 'h']),
 (1, ['p', 'q']), 
 (4, [ 'x', 'y', 'z'])]

我们如何迭代此集合以查找它在整个集合中是否具有g并在Python中将(2, ['e', 'f', 'g', 'h'])作为返回值获得

tup = [(1, ['a', 'b', 'c', 'd']), (2, ['e', 'f', 'g', 'h']),(1, ['p', 'q']), (4, [ 'x', 'y', 'z'])]

key = 'g'
if key in [n[-1] for n in tup] 

总是返回假。

python list search tuples
1个回答
0
投票

您可以使用列表理解,并根据条件保留子列表:

l = [(1, ['a', 'b', 'c', 'd']), (2, ['e', 'f', 'g', 'h']),
     (1, ['p', 'q']), (4, [ 'x', 'y', 'z'])]

[t for t in l if 'g' in t[1]]
# [(2, ['e', 'f', 'g', 'h'])]
© www.soinside.com 2019 - 2024. All rights reserved.