我有一个包含元组的列表和一个包含列表的字典,具体如下。
# 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, )