之前我们就有提到过,foe循环语句如果加上嵌套的后,并不是很多python初学者理解的简单代码。正巧小编最近就遇到了对代码进行简单处理的问题,涉及到了嵌套的for循环。本篇代码的处理需要借助itertools来进行单行实现,想要对代码进行简化的小伙伴,一起来看看怎么操作吧。
我们经常会如下这种嵌套的for循环代码
list1 = range(1,3) list2 = range(4,6) list3 = range(7,9) for item1 in list1: for item2 in list2: for item3 in list3: print(item1+item2+item3)
这里仅仅是三个 for 循环,在实际编码中,有可能会有更层。
这样的代码,可读性非常的差,很多人不想这么写,可又没有更好的写法。
这里介绍一种常用的写法,使用itertools这个库来实现更优雅易读的代码。
from itertools import product list1 = range(1,3) list2 = range(4,6) list3 = range(7,9) for item1,item2,item3 in product(list1, list2, list3): print(item1+item2+item3)
输出如下
$ python demo.py 12 13 13 14 13 14 14 15
从上面输出的代码我们可以看出,代码方面已经非常精简,我们看起来也不再费劲了。想要获得跟小编一样效果的小伙伴,赶紧学起来吧。