Python中列表索引的getattr?

Python中列表索引的getattr?,python,getattr,Python,Getattr,我知道我可以做一个try/except或if/else,并根据error或else子句设置默认值,但我只是想知道是否有一个单行程序可以像getattrcan那样完成它。好的:justdef一个助手函数 def my_getitem(container, i, default=None): try: return container[i] except IndexError: return default 坏的:您可以对条件版本进行一行扫描 ite

我知道我可以做一个try/except或if/else,并根据error或else子句设置默认值,但我只是想知道是否有一个单行程序可以像
getattr
can那样完成它。

好的:just
def
一个助手函数

def my_getitem(container, i, default=None):
    try:
        return container[i]
    except IndexError:
        return default
坏的:您可以对条件版本进行一行扫描

item = container[i] if i < len(container) else default

好的:只是
def
辅助功能

def my_getitem(container, i, default=None):
    try:
        return container[i]
    except IndexError:
        return default
坏的:您可以对条件版本进行一行扫描

item = container[i] if i < len(container) else default

一个相关的问题:一个相关的问题:这就是为什么它不好:)我实际上有点喜欢第三个黑客,只要你能假设
I
是非负面的。这就是为什么它不好:)我实际上有点喜欢第三个黑客,只要你能假设
I
是非负面的。