Python 整数无穷大用于切片

18 投票
2 回答
6379 浏览
提问于 2025-04-16 21:42

我在一个配置文件里定义了一个切片参数:

max_items = 10

我的类会根据这个参数来切分一个列表:

items=l[:config.max_itmes]

max_items = 0 时,我希望从 l 中获取所有的项目。一个简单粗暴的方法是:

config.max_items=config.max_items if config.max_items>0 else 1e7

假设项目数量不会超过 1e7(一千万)。不过,我不太喜欢使用这种神秘的数字。有没有更符合Python风格的方法,比如说用一个表示无限的整数常量?

2 个回答

0

你试过用 sys.maxint 吗?

31

在Python中没有所谓的“无限整数常量”,但是如果在切片中使用None,那么它会自动使用该位置的默认值。这些默认值分别是开始位置、结束位置,以及序列中的每个项目,适用于切片的三个部分。

>>> 'abc'[:None]
'abc'

撰写回答