私は、次の2タプルを分割して2つのタプルと1のタプルを含むリストを平坦化
[['G', 'G', 'R', 'G'],
['G', 'U', 'R', 'G'],
['U', 'G', 'R', 'G'],
['U', 'U', 'R', 'G']]
のようにすべての可能な組み合わせに
[['G', 'U'], ['G', 'U'], 'R', 'G']
のようなリストを作るとのトラブルを抱えていますPythonで。それについてどうすればいいですか?
私は、次の2タプルを分割して2つのタプルと1のタプルを含むリストを平坦化
[['G', 'G', 'R', 'G'],
['G', 'U', 'R', 'G'],
['U', 'G', 'R', 'G'],
['U', 'U', 'R', 'G']]
のようにすべての可能な組み合わせに
[['G', 'U'], ['G', 'U'], 'R', 'G']
のようなリストを作るとのトラブルを抱えていますPythonで。それについてどうすればいいですか?
あなたはitertools.product()
を使用することができます。
lst = [['G', 'U'], ['G', 'U'], 'R', 'G']
from itertools import product
[x for x in product(*lst)]
#[('G', 'G', 'R', 'G'),
# ('G', 'U', 'R', 'G'),
# ('U', 'G', 'R', 'G'),
# ('U', 'U', 'R', 'G')]
ありがとう、私はitertoolsを試してみましたが、それは私が望んだものではなく、この出力よりもむしろ私に与えなかった: #[(['G'、 'U'])、(['G'、 'U'] )、(['R']、)、(['G']、)] 私は*、初心者をPythonで使用しませんでした。すべての助けをありがとう! – Lejoon
あなたは簡単にitertools.product
を使用してこれを行うことができます。それはまさにあなたが描いていることです。
>> import itertools
>> l = [['G', 'U'], ['G', 'U'], 'R', 'G']
>> i = itertools.product(*l)
>> list(i)
[('G', 'G', 'R', 'G'), ('G', 'U', 'R', 'G'), ('U', 'G', 'R', 'G'), ('U', 'U', 'R', 'G')]
ありがとう、私はitertoolsを試してみましたが、それは私が望んだものではなく、この出力よりもむしろ私に与えてくれませんでした: #[(['G'、 'U'])、(['G'、 'U'] )、(['R']、)、(['G']、)] 私は*、初心者をPythonで使用しませんでした。すべての助けをありがとう! – Lejoon
あなたのためにコードを記述していただきたいようです。多くのユーザーは、苦痛を伴うコーダーのコードを作成したいと考えていますが、通常、ポスターがすでに自分で問題を解決しようとしたときにのみ役立ちます。この努力を示す良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ](http://stackoverflow.com/tour)と[How to Ask](http://stackoverflow.com/help/how-to-ask)を参照してください。 –
また、データリストが矛盾しています - a)文字列のリストとb)文字列が混在しています。これは実際のデータですか、または文字列を1つの文字列を含むリストとして扱うのでしょうか? –
これは実際のデータで、私は以下のitertoolsを試していましたが、リスト名の前に "*"引数を付けずに、私が期待したものを私に与えてくれませんでした。私はここで新しいので、ガイドラインのおかげで! – Lejoon