品易云推流 关闭
文章详情页
文章 > Python基础教程 > itertools怎样对python3代码单行处理?

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

头像

小妮浅浅

2020-12-02 16:25:452384浏览 · 0收藏 · 0评论

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


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

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图