OrderedDict comprehensions
- 论坛
- OrderedDict comprehensions
6 浏览
OrderedDict comprehensions
我能否扩展Python中的字典推导语法以适用于其他字典,比如collections
模块中的OrderedDict或者我自己从dict
继承的类型?
重新绑定dict
名称显然是不起作用的,{key: value}
推导语法仍然会给你一个普通的dict用于推导和字面值。
>>> from collections import OrderedDict >>> olddict, dict = dict, OrderedDict >>> {i: i*i for i in range(3)}.__class__
所以,如果可能的话,我该如何做到这一点?如果只在CPython中有效也可以。对于语法,我猜我会尝试使用类似于O{k: v}
前缀,就像我们在r'various' u'string' b'objects'
中使用的那样。
注:当然,我们可以使用生成器表达式来替代,但我更感兴趣的是了解Python在语法方面的可塑性。