[爆卦]for迴圈排列組合是什麼?優點缺點精華區懶人包

為什麼這篇for迴圈排列組合鄉民發文收入到精華區:因為在for迴圈排列組合這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者aegisqoo (flymetomoon)看板Python標題[問題] 排列組合問題或邏輯時間...


大家好,我新手也有爬文,有個問題

假設 a=[x,y,z] 且 0 <= x,y,z <= 9 的 x.y.z組合

如下:

for x in range(10):
for y in range(10):
for z in range(10):
a=[x,y,z]
print(a)


那問題是,有辦法更簡短嗎?,假設今天a=[b,c,d,e,...z]

整個for迴圈就打很長,在網路上有看到指令

itertools中permutations可以直接排列,但想知道假設不用

這個指令,且只能用一般循環指令來寫,有辦法更簡單嗎?

或者是有人可以解釋itertools.permutations的原始代碼邏輯嗎?

謝謝大大

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.27.98.1
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1507998216.A.AF1.html
ckc1ark: 你說的應該是itertools.product才對 10/15 01:19
ckc1ark: 如果都是0~9 可以用0 ~ 10**N 的每個digit來產生 10/15 01:37
flarehunter: 可以用DFS遞迴實作 10/15 14:06
uranusjr: 空兩格四格八格我都看過, 縮排 16 格到底是怎麼回事 10/15 19:19
f496328mm: 樓上 XD 10/15 22:34
goldflower: 如果只是想用python的寫法來簡化的話那可以用 10/16 21:11
goldflower: list comprehension + exec來解決 10/16 21:12
goldflower: https://i.imgur.com/6re6PHU.png 大概這樣 有點蠢XD 10/16 21:14
goldflower: 第二行要改一下 沒寫好哈哈 10/16 21:15

你可能也想看看

搜尋相關網站