генерация и отображение двух наборов чисел - PullRequest
0 голосов
/ 02 июня 2011

У меня есть 2 числа 25798709 и 25716544, представляющие минимальные и максимальные значения некоторых последовательных чисел, причем каждое число отличается от предыдущего числа на один, например. 25798709,25798710, 25798711 ................ 25716544 Мне нужен код Python, который преобразует эти цифры в 1,2,3,4,5, ....... ....... и сопоставьте 1,2,3,4,5 с исходными данными в двух столбцах: Нравится:

  1     25798709
  2     25798710
  3     25798711

Ответы [ 4 ]

1 голос
/ 02 июня 2011

Oneliner:

print(*['{0}\t{1}'.format(*i) for i in enumerate(range(MIN,MAX+1), 1)], sep='\n')

Для python2.6 или 2.7 просто добавьте from __future__ import print_function

0 голосов
/ 02 июня 2011
# make it work in both Python 2 and 3
from __future__ import print_function
try: xrange
except NameError: xrange= range

def my_enumerate(num1, num2):
    start= min(num1, num2)
    end= max(num1, num2) + 1
    for data in enumerate(xrange(start, end), 1):
        print("%d\t%d" % data)
0 голосов
/ 02 июня 2011

Это будет работать и начинаться с 1:

for idx, num in enumerate(range(25716544, 25798709), 1):
  print idx, ' ', num

Для запуска с 0:

for idx, num in enumerate(range(25716544, 25798709)):
  print idx, ' ', num
0 голосов
/ 02 июня 2011

Вот вы:

mapping = dict(enumerate(range(25716544, 25798709)))
for i in iter(mapping):
    print i, '->', mapping[i]

Я должен предупредить вас, что это нулевое значение. Так 0 -> 25716544, 1 -> 25716545 и т. Д.

...