2024-10-02 12:22:54 发布
网友
我想浏览一个有序字典中最近添加的x个条目。到目前为止,我唯一能想到的是:
listLastKeys = orderedDict.keys()[-x:] for key in listLastKeys: #do stuff with orderedDict[key]
但是,当有序词典应该已经知道它的顺序时,再列出一个列表并用该列表浏览有序词典,感觉是多余的,而且有些浪费。有别的办法吗?谢谢!你知道吗
反向迭代dict并应用itertools.islice:
itertools.islice
from itertools import islice for key in islice(reversed(your_ordered_dict), 5): # do something with last 5 keys
您可以使用reversed()以相反的顺序遍历它,而不是像现在这样反转它。示例:
reversed()
D = {0 : 'h', 1: 'i', 2:'j'} x = 1 for key in reversed(D.keys()): if x == key: break
你可以保留上次运行的字典中存在的键的列表。你知道吗
我不知道你的程序的确切语义,但这是一个检查新键的函数。你知道吗
keys=[] #this list should be global def checkNewKeys(myDict): for key, item in myDict.iteritems(): if key not in keys: #do what you want with new keys keys.append(key)
这基本上可以在整个程序运行过程中跟踪字典中的内容,而无需每次都创建一个新列表。你知道吗
反向迭代dict并应用
itertools.islice
:您可以使用
reversed()
以相反的顺序遍历它,而不是像现在这样反转它。示例:你可以保留上次运行的字典中存在的键的列表。你知道吗
我不知道你的程序的确切语义,但这是一个检查新键的函数。你知道吗
这基本上可以在整个程序运行过程中跟踪字典中的内容,而无需每次都创建一个新列表。你知道吗
相关问题 更多 >
编程相关推荐