0

我想找到存储在defaultdict(list)容器中的列表的交集。这是我的字典,'d'查找值列表“my_list”:

d = { a: ['1', '2', '3'],
      b: ['3', '4', '5'],
      c: ['3', '6', '7']
     }

my_list = ['a', 'b']

我想返回列表的交集。根据上一篇文章,我尝试了以下操作,但出现错误:TypeError: unhashable type: 'list'

set.intersection(*map(set,d[my_list]))

欢迎大家提出意见。

谢谢,扎克cp

4

1 回答 1

9

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

set.intersection(*(set(d[k]) for k in my_list))
于 2012-08-10T19:09:59.713 回答