お世話になっております。
関数を呼ぶたびにリストが更新されてしまいます。
下記のようなリストを作成するモジュールを作っていて、
欲しい結果をリストに入れるところまでは出来たのですが、
関数を呼び出すたびにリストが更新された状態のまま次がappendされてしまいます。
やりたい事としては、例として下記が代入されたときに順列なしの組み合わせを作成しています。
その時に、アルファベット順にしたいので、sorted(str_list)としています。※['b','a']ではなく['a','b']としたい。
int_list = [2,3,4]
str_list = ['a','b','c','d','e','f','g','h','i']
グローバル変数も試しましたが、同様の事象が起きてしまうので、何かいい方法はないでしょうか?
もしくはソースコードから直していったほうが良いのでしょうか?
該当のソースコード
python
1def group(int_list,str_list,ls_1 = [],index = 0,result = []): 2 if not str_list: 3 result.append(ls_1) 4 return 5 for i in combinations(sorted(str_list),int_list[index]): 6 ls_2 = ls_1.copy() 7 ls_2.append(sorted(list(i))) 8 str_list = set(str_list) 9 group(int_list,str_list-set(i),ls_2,index + 1) 10 return result
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/03 04:18