列表中get()的惯用python是什么?

Sco*_*len 4 python idioms idiomatic

如果字符中不存在该键,则默认情况下,在字典上调用get(key)将返回None.什么是列表的惯用等价物,如果列表至少是传入索引的大小,则返回元素,否则返回None?

换句话说,这个函数的惯用/紧凑版本是什么:

def get(l, i):
    if i < len(l):
        return l[i]
    else:
        return None
Run Code Online (Sandbox Code Playgroud)

phi*_*hag 7

你的实现是在你跳跃式前瞻.执行代码并捕获错误是pythonic :

def get(l, i, d=None):
    try:
        return l[i]
    except IndexError:
        return d
Run Code Online (Sandbox Code Playgroud)