【发布时间】:2011-10-08 21:39:02
【问题描述】:
如果字典中不存在键,则默认情况下在字典上调用 get(key) 将返回 None。列表的惯用等效项是什么,如果列表的大小至少是传入索引的大小,则返回元素,否则返回 None?
换种说法,这个函数的更惯用/更紧凑的版本是什么:
def get(l, i):
if i < len(l):
return l[i]
else:
return None
【问题讨论】:
-
在大多数情况下,我使用
defaultdict而不是dict.get(),如果更适合您的用例,您也可以提出defaultlist。 -
你认为你为什么需要这个?索引列表通常不是人们推测的事情。换一种说法;列表通常以这样一种方式使用,即我们对每个元素都应用一个动作;而不是一个显着的元素(如果它存在的话)。您似乎正在使用一个列表来处理一些不寻常的事情(也许一个类会更好?)