08/07/29 17:24:04
M.Hiroiさんのお気楽pythonプログラミング入門で、
第4回ジェネレータのところの
リスト7がどう動くのか分かりませんでした。
打ち込んで動かすと、正常に動きました。
最初空リストの意味が分かりませんでしたが、
n==len(nums)が再帰の停止条件になっていると考え、
与えられたリストが[1,2,3]なら、n=3のとき、空リストが
n=2の階層に戻って、for yの繰り返しで、与えられた順序と
同じ順列のリストを作ったら、どの階層に戻っても、
if y not in xを満たさなくなり、一番外側のn=0に戻って、
一つ目の順列をプリントすると理解したつもりが
次の順列である[1,3,2]がどうして出てくるか分からなく
なったので、たぶん上の理解も間違っているのではと
思いました。それでトレースする方法をweb上やマニュアルから
調べましたが、結局うまくいかず、お手上げ。どうすればいいでしょ。