遇到一个两万多次的循环脚本,发现单单循环执行起来就很麻烦,电脑cpu不够,后来找大神请教了一个方法,通过迭代器。边生成循环,边执行循环。
#!/usr/bin/env python3
l1 = range(500)
l2 = range(500)
l3 = range(500)
def generator():
for i in l1:
for j in l2:
for k in l3:
item = '{} ; {} ; {}'.format(i, j, k)
yield item
def process(item):
'''run process in device A'''
print('do item: {}'.format(item))
def case_b():
l = []
for i in l1:
for j in l2:
for k in l3:
l.append('{} ; {} ; {}'.format(i, j, k))
def case_a():
for item in generator():
process(item)
if __name__ == '__main__':
case_a()