现在我喜欢这样,检查我的列表l是否有索引idx:
l = ['a', 'b', 'c', 'd']
idx = 5
try:
value = l[idx]
except IndexError:
value = None
print(value)
# gives None
是否有一些功能:l.hasindex(idx)或其他什么?
答案 0 :(得分:6)
您可以查看索引的绝对值是否小于长度。如果是,则列表具有索引。你需要针对负面指数的特殊情况。 -len(lst)
有效......
def hasindex(lst, idx):
ln = len(lst)
return (abs(idx) < ln) or (idx == -ln)
答案 1 :(得分:0)
不,没有。您可以自己轻松编写:
get_value_at_index = lambda l, i: l[idx] if idx < len(l) else None
value = get_value_at_index(l, idx)