Целочисленная бесконечность Python для нарезки - PullRequest
17 голосов
/ 17 июля 2011

Я определил параметр нарезки в файле конфигурации:

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 способ сделать это, как целочисленная константа бесконечности?

Ответы [ 2 ]

27 голосов
/ 17 июля 2011

В Python нет "целочисленной константы бесконечности", но использование None в срезе заставит его использовать значение по умолчанию для данной позиции, то есть начало, конец и каждый элемент в последовательности, для каждогоиз трех частей среза.

>>> 'abc'[:None]
'abc'
0 голосов
/ 17 июля 2011

Вы пробовали с sys.maxint?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...