Python 整数无穷大用于切片
我在配置文件中定义了一个切片参数:
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
项。然而,我不喜欢使用魔法数字。有没有更Pythonic的方法来做到这一点,比如无穷大整数常量?
I have defined a slicing parameter in a config file:
max_items = 10
My class slices a list according to this parameter:
items=l[:config.max_itmes]
When max_items = 0
, I want all items to be taken from l
. The quick and dirty way is:
config.max_items=config.max_items if config.max_items>0 else 1e7
Assuming that there will be less then 1e7
items. However, I don't fancy using magic numbers. Is there a more Pythonic way of doing it, like an infinity integer constant?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Python 中没有“无穷大整数常量”,但是在切片中使用
None
会导致它使用给定位置的默认值,即开始、结束和序列中的每个项目,对于切片的三个部分中的每一个。There is no "infinity integer constant" in Python, but using
None
in a slice will cause it to use the default for the given position, which are the beginning, the end, and each item in sequence, for each of the three parts of a slice.您尝试过 sys.maxint 吗?
Have you tried with
sys.maxint
?