Python 生成和映射两组数字

Python 生成和映射两组数字,python,mapping,numbers,Python,Mapping,Numbers,我有两个数字25798709和25716544,分别代表一些连续数字的最小值和最大值,每个数字与前面的数字相差一个,例如2579870925798710、25798711…………25716544我想要一个python代码,可以将这些数字转换为1、2、3、4、5,。。。。。。。。。。。。。。并将1,2,3,4,5映射到两列中的原始图形: 比如: 给你: mapping = dict(enumerate(range(25716544, 25798709))) for i in iter(mappin

我有两个数字25798709和25716544,分别代表一些连续数字的最小值和最大值,每个数字与前面的数字相差一个,例如2579870925798710、25798711…………25716544我想要一个python代码,可以将这些数字转换为1、2、3、4、5,。。。。。。。。。。。。。。并将1,2,3,4,5映射到两列中的原始图形: 比如:

给你:

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

我应该警告你,这是基于零的。所以0->25716544,1->25716545等等。这将从1开始工作:

# 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)
for idx, num in enumerate(range(25716544, 25798709), 1):
  print idx, ' ', num
要从0开始,请执行以下操作:

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

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

对于python2.6或2.7,只需从uuu future uuuu导入print u函数中添加

当您可以遍历枚举返回的对象时,为什么要使用dict?OP需要一个映射,即dict。这就是为什么。因此,“映射”只是减去或添加
25798709-1
print(*['{0}\t{1}'.format(*i) for i in enumerate(range(MIN,MAX+1), 1)], sep='\n')