【发布时间】:2021-12-18 10:40:15
【问题描述】:
我有一个可迭代的唯一数字:
lst = [14, 11, 8, 55]
其中每个值都在 dict 的可迭代值中,比如列表:
dict_itms.items() = dict_items([(1, [0, 1, 2, 3]), (2, [11, 14, 12]), (3, [30, 8, 42]), (4, [55, 6])])
我必须在 dict 中找到每个 lst 元素,最后,我将拥有一个针对 lst 中每个元素的成对键列表。
这个方法:
keys_ = []
for a in lst:
for k, v in dict_itms.items():
if a in v:
keys_ += [k]
break
else:
continue
给出:
[2, 2, 3, 4]
有没有更有效的方法可以针对每个要查找的数字逐对查找每个密钥?
【问题讨论】:
-
据我了解,问题是查看两个列表是否共享任何元素。请参阅:*.com/a/17735466/2681662。这样你就可以摆脱一个循环(第一个循环)
-
所有列表编号都是唯一的
标签: python dictionary key pairwise