Как перечислить диапазон чисел начиная с 1 - PullRequest
120 голосов
/ 22 июля 2010

Я использую Python 2.5, я хочу перечисление, например, так (начиная с 1 вместо 0):

[(1, 2000), (2, 2001), (3, 2002), (4, 2003), (5, 2004)]

Я знаю, что в Python 2.6 вы можете сделать: h = enumerate (range (2000, 2005), 1), чтобы получить вышеуказанный результат, но в python2.5 вы не можете ...

Использование python2.5:

>>> h = enumerate(range(2000, 2005))
>>> [x for x in h]
[(0, 2000), (1, 2001), (2, 2002), (3, 2003), (4, 2004)]

Кто-нибудь знает способ получить желаемый результат в Python 2.5?

Спасибо

Джеф

Ответы [ 12 ]

0 голосов
/ 23 июня 2019

Python 3

Официальная документация: enumerate(iterable, start=0)

Таким образом, вы будете использовать это так:

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
0 голосов
/ 27 мая 2019

Я не знаю, как эти посты можно сделать более сложными, чем следующие:

# Just pass the start argument to enumerate ...
for i,word in enumerate(allWords, 1):
    word2idx[word]=i
    idx2word[i]=word
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...