从defaultdict(列表)调用的列表的交集

时间:2012-08-10 19:06:51

标签: python dictionary

我想找到存储在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

1 个答案:

答案 0 :(得分:8)

问题是您正在尝试访问d[my_list] - 列表不是vlaid字典键。一种选择:

set.intersection(*(set(d[k]) for k in my_list))