我有 alist of tuples
和 adictionary of lists
如下。
# List of tuples
lot = [('Item 1', 43), ('Item 4', 82), ('Item 12', 33), ('Item 10', 21)]
# dict of lists
dol = {
'item_category_one': ['Item 3', 'Item 4'],
'item_category_two': ['Item 1'],
'item_category_thr': ['Item 2', 'Item 21'],
}
现在我想做一个查找,其中任何列表中的任何项目都dol
存在于lot
. 如果满足此要求,那么我想向相应的元组添加另一个变量。
目前我正在这样做(看起来非常低效和丑陋)。我想知道实现这一目标的最有效和最简洁的方法。有什么可能性?
PS:我也希望lot
在执行此操作时保持顺序。
merged = [x[0] for x in lot]
for x in dol:
for item in dol[x]:
if item in merged:
for x in lot:
if x[0] == item:
lot[lot.index(x)] += (True, )