我编写了一个继承dict的类,我编写了一个成员方法来删除对象。你知道吗
class RoleCOList(dict):
def __init__(self):
dict.__init__(self)
def recyle(self):
'''
remove roles too long no access
'''
checkTime = time.time()-60*30
l = [k for k,v in self.items() if v.lastAccess>checkTime]
for x in l:
self.pop(x)
是不是效率太低了?我用了两个列表循环,但我找不到其他方法
因为不需要生成的列表,所以可以使用生成器和来自consume recipe的代码段。特别是,使用
collections.deque
为您运行生成器。你知道吗由于字典在age\u off的迭代过程中被更改,因此使用
self.keys()
返回一个列表。(使用self.iteritems()
将引发RuntimeError
。)这个怎么样?你知道吗
在去年的SciPy会议上,我参加了一个演讲,演讲人说
any()
和all()
是在循环中快速完成任务的方法。这是有意义的,for
循环在每次迭代时重新绑定循环变量,而any()
和all()
只是消耗值。你知道吗显然,当您想运行一个总是返回假值的函数时,您可以使用
any()
,比如None
。这样,整个循环将运行到最后。你知道吗相关问题 更多 >
编程相关推荐