itertools怎样对python3代码单行处理?

美女程序员鼓励师

之前我们就有提到过,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


从上面输出的代码我们可以看出,代码方面已经非常精简,我们看起来也不再费劲了。想要获得跟小编一样效果的小伙伴,赶紧学起来吧。

以上是 itertools怎样对python3代码单行处理? 的全部内容, 来源链接: utcz.com/z/541438.html

回到顶部