如何将frozenset转换为普通集或列表?

Ale*_*x Z 7 python python-3.x

例如,我有一个冷冻集

[frozenset({'a', 'c,'}), frozenset({'h,', 'a,'})]
Run Code Online (Sandbox Code Playgroud)

我想将它转换为普通列表

[['a', 'c,'],['a,', 'd,']...]
Run Code Online (Sandbox Code Playgroud)

我应该使用什么方法?

Iva*_*van 11

sets=[frozenset({'a', 'c,'}), frozenset({'h,', 'a,'})]

print([list(x) for x in sets])
Run Code Online (Sandbox Code Playgroud)

列表推导将转换集合列表中的每个冻结集并将它们放入新列表中.这可能就是你想要的.

你也可以映射,map(list, sets).请注意,在Python 3中,如果你想要map作为列表的结果你需要手动转换它list,否则,它只是一个map object看起来像<map object 0xblahblah>


kak*_*oon 5

我们可以x通过使用 list() 或 set() 将 freezeset 对象转换为列表或集合。因此,我们可以对包含 freezesets 的列表中的每个项目执行此操作,如Ivan在另一个项目中提到的

>>> x=frozenset(['a','b','c','d'])
>>> print(x)
frozenset({'c', 'd', 'a', 'b'})
>>> y=list(x)
>>> y
['c', 'd', 'a', 'b']
>>> y = set(x)
>>> y
{'c', 'd', 'a', 'b'}
Run Code Online (Sandbox Code Playgroud)