Bjö*_*lex 6 python dictionary set
我有字典作为我的对象的初始化的一部分.我知道在对象的生命周期中它不会改变.字典将键映射到集合.我想将所有值从sets 转换为frozensets,以确保它们不会被更改.目前我这样做:
for key in self.my_dict.iterkeys():
self.my_dict[key] = frozenset(self.my_dict[key])
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来实现这一目标?我不能frozenset马上建立,因为在构建完整的字典之前,我不会在每个集合中有多少项目.
举个例子,
>>> d = {'a': set([1, 2]), 'b': set([3, 4])}
>>> d
{'a': set([1, 2]), 'b': set([3, 4])}
Run Code Online (Sandbox Code Playgroud)
您可以进行转换
>>> d.update((k, frozenset(v)) for k, v in d.iteritems())
Run Code Online (Sandbox Code Playgroud)
结果
>>> d
{'a': frozenset([1, 2]), 'b': frozenset([3, 4])}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6746 次 |
| 最近记录: |