Pythonでリストの要素の順番を入れ替え、結合したい
Pythonでリストの要素の順番を入れ替え、結合したい
以下のようなリスト(入力list)があります。"1"もしくは"2"が出てきたら、それぞれ次の要素と順番を入れ替え、かつ1つの要素に結合するスクリプトを書きたいのですが、案はありますでしょうか。以下の出力listのような出力を望んでいます。
入力 list=['a', 'b', '1', 'c', 'd', 'e', '2', 'f', '2', 'g']
出力 list=['a', 'b', 'c1', 'd', 'e', 'f2', 'g2']
1や2が出てくる回数はリストにより異なり、また1より2の方が先に出てくる場合もあります。またリストによっては1がない場合、2がない場合もあります。(ただし '1', '2' のように1と2が連続で出てくることはありません。かならず間に別の要素が入ります)
indexを使って要素の順番の入れ替えはできるようなのですが、最初に出てきたものしかとらえないので、例えば上の例でいうと2,gがg2に変換されません。また結合もできていませんが、indexを使った入れ替え方法を一応以下に記しておきます:
i=list.index("1")
j=list.index("2")
list[i],list[i+1]=list[i+1],list[i]
list[j],list[j+1]=list[j+1],list[j]
とすると、出力リストは['a', 'b', 'c', '1', 'd', 'e', 'f', '2', '2', 'g']となります。
(最後のg2が変換できていない。また結合もできていない)
Python初心者です。よろしくお願いします。
お礼
ありがとうございます よく分かりました