Python中的列表索引的getattr?

2024-10-03 11:18:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道我可以执行try/except或if/else,并根据error or else子句设置默认值,但我只是想知道是否有一个行程序可以像getattrcan那样做到这一点。在


Tags: or程序iferrorelsetryexcept子句
1条回答
网友
1楼 · 发布于 2024-10-03 11:18:15

好的:只是def一个辅助函数

def my_getitem(container, i, default=None):
    try:
        return container[i]
    except IndexError:
        return default

坏的:您可以对条件版本进行一次线性化

^{pr2}$

丑的:这些都是黑客,不要用。在

item = (container[i:] + [default])[0]

item, = container[i:i+1] or [default]

item = container[i] if container[i:] else default

item = dict(enumerate(container)).get(i, default)

item = next(iter(container[i:i+1]), default)

相关问题 更多 >