-1

我创建了一个字典

d = {1: {"a":1, "b":2}, 2: {"a":1, "b":2}}

我正在遍历对象以创建像上面这样的字典。

我还想在循环时创建上述字典的反向,它应该看起来像

d2 = {{"a":1, "b":2}: 1, {"a":1, "b":2}: 2}

我知道字典是一种不可散列的类型,但同时我希望能够在不遍历字典的情况下反向查找值。

有没有办法在python中做到这一点?

4

1 回答 1

3

我还想在循环时创建上述字典的反向,它应该看起来像

  1. 不,你不能。字典的所有键都应该是可散列的,而字典不是可散列的
  2. 键不能有重复的条目

有没有办法在python中做到这一点?

除非您不希望键是字典,否则您可以转换为其他数据结构。可能frozenset of item lists吗?

如果您需要重复键,请使用frozenset of item listsMultiMap 1.0.3

谷歌给我返回了一个freeze dict的实现,你可以将它与MultiMap 1.0.3一起使用

于 2013-02-28T06:31:59.990 回答