如何从python字典中获取匹配的项目?当值是数组时

时间:2017-09-05 09:00:34

标签: python dictionary

我有一本字典,如下所示:

dict={0:['hamburger','cheese'], 1:['hamburger']}

我想知道哪个是获得0和1的每个项目的最快方法,例如本例中的'hamburger'

3 个答案:

答案 0 :(得分:1)

你想要的是你的两个dict值的交集。 This question提供了解决方案。

dict={0:['hamburger','cheese'], 1:['hamburger']}
l = list(set(dict[0]) & set(dict[1]))
print(l)
> ['hamburger']

答案 1 :(得分:0)

尝试,

[key for key in dict.keys() if 'hamburger' in dict[key]]

索引列表将出现在z

答案 2 :(得分:0)

f=0
for i in d:        #d- dictionary
    if f==0:
        m=set(d[i])
        f=1
        continue
    m=m & set(d[i])   # get intersection. note: there will be no duplicate elements
print list(m)

m=set(d[d.keys()[0]])   # ensure dictionary has at least one key

for i in d.keys()[1:]:
    m=m & set(d[i])
print list(m)