我有一个超过一些值的循环.我有一个字典,它的键是循环迭代的值.
我不能改变外循环.
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()远小于迭代次数.
问题是每个检查都很费时间.处理这个问题的好方法是什么?
我想你可以这样做:
for i in my_dict:
if 0 < i < 1000000000000:
func()
Run Code Online (Sandbox Code Playgroud)
range(1, 1000000000000)将生成号码清单1来999999999999,你只需要检查,如果你的关键是在这个范围内.所以你真的不需要自己生成列表range.