【发布时间】:2020-11-29 16:33:48
【问题描述】:
我想在tuple 列表中选择一些具有特定值的元素。假设我有来自 verticis = [2,3,4,5] 的元组组合列表,即 res = [(2, 3, 5), (2, 4, 5), (3, 4, 5), (2 , 3, 4), (2, 3, 4, 5)]
然后我想在 res 中挑选所有包含key=[2,4,5] 的tuples。我使用了列表理解
但出现错误:too many values to unpack (expected 2)
输出应该是:[(2, 4, 5),(2, 3, 4, 5)]
verticis = [2,3,4,5]
items_to_pick = [2, 4, 5]
i, j = len(items_to_pick), len(verticis)
res1 = [com for sub in range(j) for com in combinations(verticis, sub + 1)]
res2 = [com for sub in range(i - 1) for com in combinations(verticis, sub + 1)]
res = list(set(res1) - set(res2))
c = [value for idx, value in enumerate(res) if idx in items_to_pick]
c=[value for idx, value in res if idx in items_to_pick]
【问题讨论】:
-
我把问题改得更清楚了。
-
我的意思是让它更清楚。抱歉,如果您愿意,我可以私下发送。
标签: python list tuples list-comprehension combinations