我正在尝试根据值从字典中获取前 20 个条目。我使用orderedDict 按值对条目进行排序。但是当我试图从orderedDict 中删除一个条目时(以保持orderedDict 的恒定长度,即20)它不会发生。
我写了以下代码:
while linecount>0:
line=images.readline().split()
#compute "score" for each line
if (len(result)<20):
result.update({(str(line)):score})
else:
if(len(result)==20):
result=OrderedDict(sorted(result.items(), key=lambda t: t[1]))
if(result.items()[0][1]<score):
del result.items()[0]
temp=str(line)
result.update({temp:score})
但是删除/删除不会在以下步骤发生:
del result.items()[0]
一旦达到那个(21)值,结果的长度仍然是21
我做错了什么,我还能怎么做?