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]。リストは有効な辞書キーではありません。1 つの選択肢:

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