我有一本字典,如下圖所示:如何從python字典中獲取匹配的項目?當值是數組
dict={0:['hamburger','cheese'], 1:['hamburger']}
我想知道這是讓這兩者都是在0和1的每一個項目的最快方法,像「漢堡包」這個例子
我有一本字典,如下圖所示:如何從python字典中獲取匹配的項目?當值是數組
dict={0:['hamburger','cheese'], 1:['hamburger']}
我想知道這是讓這兩者都是在0和1的每一個項目的最快方法,像「漢堡包」這個例子
你需要的是你的兩個字典值交集。 This question給出了一個解決方案。
dict={0:['hamburger','cheese'], 1:['hamburger']}
l = list(set(dict[0]) & set(dict[1]))
print(l)
> ['hamburger']
嘗試,
[key for key in dict.keys() if 'hamburger' in dict[key]]
的索引列表將出現沿z
漢堡包只是例如 \t 我想獲得每個物品都是0和1 –
@GiorgiAbashidze「我想要得到每個項都是0和1」。您如何將這句話添加到您的問題中,因爲與原始文章不同,這實際上告訴我們您要求的是什麼。 – Zinki
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)
你想得到什麼? '0'和'1',因爲這些鍵具有值? – MatsLindh
我想,如果你想要線性查找,你需要一套。列表是二次方的 - 一個用於字典,另一個用於列表。 –
請包括你已經嘗試過的代碼,也可以更具體地說明你想要的輸出是什麼 – dhdavvie