从 python 中的 frozenset 访问项目
Accessing items from a frozenset in python
我有一个冻结集 x = frozenset({"a":1,"b":2})
。我无法想出一种方法来访问字典中的项目。有没有办法解冻 frozenset?下面给出的是我得到的错误。
In [1]: x = frozenset({"a":1,"b":2})
In [2]: x
Out[2]: frozenset({'a', 'b'})
In [3]: x["a"]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-c47cedd3f38d> in <module>()
----> 1 x["a"]
TypeError: 'frozenset' object has no attribute '__getitem__'
非常感谢任何帮助。
frozenset
构造函数采用可迭代对象!如评论中所述,当您迭代 dict
时,您只是在迭代它的键,因此值会丢失。
x = frozenset({"a": 1,"b": 2})
# frozenset(['a', 'b'])
不过您可以从 dict
的项目中创建它:
x = frozenset({"a": 1, "b": 2}.items())
# frozenset([('a', 1), ('b', 2)])
现在您可以简单地将它变回 dict
:
d = dict(x)
# {'a': 1, 'b': 2}
我有一个冻结集 x = frozenset({"a":1,"b":2})
。我无法想出一种方法来访问字典中的项目。有没有办法解冻 frozenset?下面给出的是我得到的错误。
In [1]: x = frozenset({"a":1,"b":2})
In [2]: x
Out[2]: frozenset({'a', 'b'})
In [3]: x["a"]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-c47cedd3f38d> in <module>()
----> 1 x["a"]
TypeError: 'frozenset' object has no attribute '__getitem__'
非常感谢任何帮助。
frozenset
构造函数采用可迭代对象!如评论中所述,当您迭代 dict
时,您只是在迭代它的键,因此值会丢失。
x = frozenset({"a": 1,"b": 2})
# frozenset(['a', 'b'])
不过您可以从 dict
的项目中创建它:
x = frozenset({"a": 1, "b": 2}.items())
# frozenset([('a', 1), ('b', 2)])
现在您可以简单地将它变回 dict
:
d = dict(x)
# {'a': 1, 'b': 2}