在python中检查字典键的好方法是什么?

avi*_*hen 0 python python-2.7

我有一个超过一些值的循环.我有一个字典,它的键是循环迭代的值.

我不能改变外循环.

for i in range(1, 1000000000000):
    if i in my_dict.keys():
        func()

other_func(i)
Run Code Online (Sandbox Code Playgroud)

:中的每个元素都my_dict.keys()出现在range(1, 1000000000000).但是,元素的数量my_dict.keys()远小于迭代次数.

问题是每个检查都很费时间.处理这个问题的好方法是什么?

AKS*_*AKS 9

我想你可以这样做:

for i in my_dict:
   if 0 < i < 1000000000000:
       func()
Run Code Online (Sandbox Code Playgroud)

range(1, 1000000000000)将生成号码清单1999999999999,你只需要检查,如果你的关键是在这个范围内.所以你真的不需要自己生成列表range.