python – 从defaultdict获取原始密钥集
发布时间:2020-12-15 14:01:24 所属栏目: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 – Selenium’WebElement’对象没有属性’Get_Attri
- python – 在pylint中强制字符串格式
- 在Django中使用python-social-auth和电子邮件注册复制电子邮
- Python – 立即引导大量敌人
- python代码是解释型语言,为什么还有编译过程?
- 有没有办法找出文件的名称stdout被重定向到Python
- python基础学习15----异常处理
- 迅速提高你的Python:理解Python的执行模型
- python – OPENCV:Calibratecamera 2重投影错误和自定义计
- python – 为什么不能引用似乎由解释器自动加载的模块而没有