gpt4 book ai didi

python - 将列表与字典中的值进行比较

转载 作者:太空狗 更新时间:2023-10-29 21:27:45 25 4
gpt4 key购买 nike

我有一个包含值列表和列表的字典:

dict1={'first':['hi','nice'], 'second':['night','moon']}
list1= [ 'nice','moon','hi']

我想将字典中的值与 list1 进行比较,如果每个键的值都出现在列表中,则为这些键创建一个计数器:输出应该是这样的:

   first 2
second 1

这是我的代码:

count = 0 
for list_item in list1:
for dict_v in dict1.values():
if list_item.split() == dict_v:
count+= 1
print(dict.keys,count)

有什么帮助吗?提前致谢

最佳答案

我将从 list1 中创建一个 set,查找时间为 O(1) 并访问 intersection 方法。然后使用听写理解。

>>> dict1={'first':['hi','nice'], 'second':['night','moon']}
>>> list1= [ 'nice','moon','hi']
>>>
>>> set1 = set(list1)
>>> {k:len(set1.intersection(v)) for k, v in dict1.items()}
{'first': 2, 'second': 1}

intersection 接受任何可迭代的参数,因此无需根据 dict1 的值创建集合。

关于python - 将列表与字典中的值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52896230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com