將嵌套 for 循環寫成單行

我們經常會如下這種嵌套的 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 循環,在實際編碼中,有可能會有更層。

這樣的代碼,可讀性非常的差,很多人不想這麼寫,可又沒有更好的寫法。

這裏介紹一種我常用的

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)

寫法,使用 itertools 這個庫來實現更優雅易讀的代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章