我有水果的清單:如何找到列表和嵌套列表的交集?
fruits = ["apple","banana"]
我也有籃子的嵌套列表,其中每個列表包含一個字符串(籃的名稱)和水果的列表。
baskets = [["basket1",["apple","banana","pear","strawberry"]],["basket2",["strawberry","pear","peach"]],["basket3",["peach","apple","banana"]]]
我想知道哪些盛滿水果的每個列表中的水果:我希望得到的結果是有兩個元素,「basket1」和「basket3」名單。
我想,交叉會實現這個我最清晰的方式,並嘗試以下操作:
myset = set(fruits).intersection(*map(set, set(baskets)))
但我得到一個類型錯誤「unhashable類型:‘名單’」。我知道我不能映射列表,但我認爲在這兩個列表上使用函數「set」會將它們轉換爲集...有沒有其他方法可以找到列表和列表的列表的交集?
? – Sasa 2014-10-31 21:28:42
@Sasa它會有所作爲嗎? – kormak 2014-10-31 21:32:25
@kormak:在這種情況下不是_huge_,而是。而不必在'baskets'列表中查看每個列表的第二個元素,您只需在'baskets'字典中查看每個值即可。一般來說,爲作業使用正確的數據結構會讓您的生活更輕鬆。 – abarnert 2014-10-31 21:59:56