从枚举中分配计数

时间:2015-06-08 14:33:36

标签: python count enumerate

我是python的新手,我试图找出是否可以将枚举的计数分配给它所使用的变量。目前我有一些事情要做。

for i, grb in enumerate(results):
           try:
                grb_date = (re.sub('[A-Z]','',grb.name))
                end_results = [i, grb_date]
                print (end_results)
           except:    
                print ('No name')
                pass

输出如下所示

[935, '120612']
[936, '120616']
[937, '120618']
[938, '120618']
[939, '120619']

最终目标是基本上有一个输入功能,应该等同于正确的数字,但我最终需要' i'值(左侧)与代码的下一部分。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

根据我从下面的评论中理解,您不需要访问上一个循环中的数字,但需要它来访问第二列的ID。

如果是这种情况,我会使用字典:

data = {}

for i, grb in enumerate(results):
    try:
        grb_date = (re.sub('[A-Z]','',grb.name))
        end_results = [i, grb_date]
        data[str(i)] = grb_date  # this is the important bit
        print (end_results)
     except:    
        print ('No name')

现在您可以使用数字(i)直接引用grb_date:

while 1:
    attempt = input('enter the record you want: ')  # I'm assuming you are using Py 3.x, otherwise use raw_input
    try:
        print(data[attempt])
    except KeyError:
        print('ID does not exist')