什么可以替代呢?
给定键的数据结构是以下列表:
[{'red': (12,1,12),'white': (30,2,60),'blue': (8,4),'orange': (9,4,8),'black': (10,12,4)}]
编辑:
添加使用信息.首先,我用以下内容构建默认dict:
defDict[key1].append(... ...)
然后它传递给密钥的几种方法:val(列表)查找和密钥删除.
特别是删除:
if len(defDict[key1][0]) == 0: del defDict[key1]
编辑:nonetype上的错误
print "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" print defDict[key] print "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" if len(defDict[key][0]) == 0: #del defDict[key]
错误:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxNoneyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyif len(defDict[key][0]) == 0:TypeError: 'nonetype' object has no attribute '__getitem__'
我认为错误来自关键:
print "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" print defDict[key] print "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
输出:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx None yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy解决方法 您可以以非常简单的方式实现自己的defaultdict.
def defaultdict(default_type): class DefaultDict(dict): def __getitem__(self,key): if key not in self: dict.__setitem__(self,key,default_type()) return dict.__getitem__(self,key) return DefaultDict()List_dict = defaultdict(List)List_dict['a'].append(1)print List_dict # {'a': [1]}总结
以上是内存溢出为你收集整理的python – DefaultDict的替代品全部内容,希望文章能够帮你解决python – DefaultDict的替代品所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)