我想找到存储在defaultdict(list)
容器中的列表的交集。这是我的字典,'d'
一个查找值列表,'my_list':
d = { a: ['1', '2', '3'],
b: ['3', '4', '5'],
c: ['3', '6', '7']
}
my_list = ['a', 'b']
我想返回列表的交集。基于previous post,我尝试了以下操作,但收到错误:TypeError:unhashable type:'list'
set.intersection(*map(set,d[my_list]))
欢迎任何建议。
感谢, zach cp
答案 0 :(得分:8)
问题是您正在尝试访问d[my_list]
- 列表不是vlaid字典键。一种选择:
set.intersection(*(set(d[k]) for k in my_list))