python – 从defaultdict获取原始密钥集
发布时间:2020-12-15 16:04:19 所属栏目:Python 来源:互联网
导读:有没有办法从defaultdict获取原始/一致的密钥列表,即使请求了非现有密钥? from collections import defaultdict d = defaultdict(lambda: default, {key1: value1, key2 :value2}) d.keys()[key2, key1] d[bla
|
有没有办法从defaultdict获取原始/一致的密钥列表,即使请求了非现有密钥? from collections import defaultdict
>>> d = defaultdict(lambda: 'default',{'key1': 'value1','key2' :'value2'})
>>>
>>> d.keys()
['key2','key1']
>>> d['bla']
'default'
>>> d.keys() # how to get the same: ['key2','key1']
['key2','key1','bla']
解决方法你必须排除.具有默认值的键!>>> [i for i in d if d[i]!=d.default_factory()] ['key2','key1'] 时间与Jean建议的方法比较, >>> def funct(a=None,b=None,c=None):
... s=time.time()
... eval(a)
... print time.time()-s
...
>>> funct("[i for i in d if d[i]!=d.default_factory()]")
9.29832458496e-05
>>> funct("[k for k,v in d.items() if v!=d.default_factory()]")
0.000100135803223
>>> ###storing the default value to a variable and using the same in the list comprehension reduces the time to a certain extent!
>>> defa=d.default_factory()
>>> funct("[i for i in d if d[i]!=defa]")
8.82148742676e-05
>>> funct("[k for k,v in d.items() if v!=defa]")
9.79900360107e-05 (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – SqlAlchemy在保存之前将UTC DateTime转换为本地时
- 在Django中,如何在模板中以小写的am / pm显示时间?
- python – 为什么skimage.transform.rotate比PIL的Image.ro
- python – 递归地按键对嵌套的OrderedDict进行排序
- python – 改变seaborn heatmap颜色条上的刻度尺寸
- Python语言中的函数range()没有给出预期的结果
- python – 没有Xcode的PyObjC教程
- python – 整数除法:对于所有整数a,b,// b == int(a / b)为
- python – plotly.offline.iplot给出一个大的空白字段作为输
- Python / Scipy – 将optimize.curve_fit的sigma实现到opti
