Python 1次元配列の全列挙

前提

Pythonを触っている初心者です。

実現したいこと

1次元配列list1を入力として、要素の中の3を3or5、8を8or10or12に変換した配列を全て列挙したい。
例えば、list1=[3,8]なら[3,8],[3,10],[3,12],[5,8],[5,10],[5,12]を列挙する。
また、list1=[3,3,8]なら[3,3,8],[3,3,10],[3,3,12],[3,5,8],[3,5,10],[3,5,12],[5,3,8],[5,3,10],[5,3,12],[5,5,8],[5,5,10],[5,5,12]を列挙する。

発生している問題

下のコードのように一度変換するだけならできますが、全列挙となると意外と難しくて困っています。itertoolsを上手に使う方法はあるんでしょうけど、アルゴリズム力不足で分かりませんでした。
list1の要素数が増えたり、変換の種類が増えたときにも使える応用の利く方法が知りたいです。

該当のソースコード

Python

list1=[3,8,7,5,6,8,5,3]for index, value in enumerate(list1): if value == 8: list1[index] = 10

試したこと

1次元配列の特定の要素を全て別の要素に変換するだけのコードです。

コメントを投稿

0 コメント