我嵌套了两个级别的默认dict。内部dict包含许多字段,我想按其中一个值对其排序,并删除与最低值相对应的条目。你知道吗
下面是一个简化的代码示例:
from collections import defaultdict
sampleDict = defaultdict(lambda: defaultdict(lambda:defaultdict(lambda:str)))
sampleDict['keyA']['keyB']['size'] = 1000
sampleDict['keyA']['keyC']['size'] = 500
sampleDict['keyA']['keyD']['size'] = 750
sampleDict['keyA']['keyE']['size'] = 250
sampleDict['keyA']['keyB']['desc'] = 'some data'
sampleDict['keyA']['keyC']['desc'] = 'some more data'
sampleDict['keyA']['keyD']['desc'] = 'different data'
sampleDict['keyA']['keyE']['desc'] = 'other data'
在本例中,我想排序并确定最高的size
是['keyA']['keyB']
,第二高的是['keyA']['keyD']
,然后删除['keyA']['keyC']
和['keyA']['keyE']
。你知道吗
它嵌套的原因是因为我将在外部dict中循环其他条目
试试这个:
reduce语句用于将嵌套列表
[[a],[b,c],[d]]
转换为[a,b,c]
。你知道吗sorted语句的键参数指定对
(k,k1,val)
ie,val的(包含零的)第二个参数进行排序反向参数按降序排列列表。你知道吗
如果你不在乎目录项对于Python2/3,您还可以将其编写为
相关问题 更多 >
编程相关推荐