2024-04-23 08:43:38 发布
网友
所以我有一个元组列表,每个元组有3个元素。第二和第三个元素都是int。对于一个值n,我需要返回包含n的所有元组作为第二个或第三个元素。在
不幸的是,我不太清楚该怎么做。我相信这不是太复杂,但虽然有一些类似的问题,我找不到任何确切的问题。有人知道怎么做吗?在
谢谢
你应该能够用一个简单的列表理解来完成这个任务。比如:
[t for t in list_of_tuples if t[1] == n or t[2] == n]
blist = [tup for tup in alist if n in tup[1:]]
上面的一行使用list comprehension,相当于:
tup[1:]返回一个新的元组,由三项元组tup中的第二项和第三项组成。在
tup[1:]
tup
事后看来,James Henstridge's示例似乎更可取,因为t[1] == n or t[2] == n使用了现有的元组。在
t[1] == n or t[2] == n
在简单的if条件下使用列表理解:
if
>>> lis=[('a',1,2),('b',2,2),('c',3,3),('d',3,1)] >>> n=1 >>> [x for x in lis if n in x[1:3]] #[1:3] returns a sublist containing # 2 & 3 element of each tuple [('a', 1, 2), ('d', 3, 1)]
你应该能够用一个简单的列表理解来完成这个任务。比如:
上面的一行使用list comprehension,相当于:
^{pr2}$tup[1:]
返回一个新的元组,由三项元组tup
中的第二项和第三项组成。在事后看来,James Henstridge's示例似乎更可取,因为
t[1] == n or t[2] == n
使用了现有的元组。在在简单的
if
条件下使用列表理解:相关问题 更多 >
编程相关推荐