リスト内の2番目の値を、各入れ子リストのリストの3番目の値に移動しようとしています。私は以下を試しましたが、期待どおりに動作していません。Pythonリスト列移動
コード
List = [['a','b','c','d'],['a','b','c','d'],['a','b','c','d']]
print(List)
col_out = [List.pop(1) for col in List]
col_in = [List.insert(2,List) for col in col_out]
print(List)
結果
[['a', 'b', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'b', 'c', 'd']]
[['a', 'b', 'c', 'd'], [...], [...]]
望ましい結果
[['a', 'c', 'b', 'd'], ['a', 'c', 'b', 'd'], ['a', 'c', 'b', 'd']]
UPDATE
pynoobsのコメントに基づいて、私は次のことを思いつきました。しかし、私はまだそこにいません。なぜ「c」印刷ですか?あなたは同じリスト内の要素として、リスト全体を挿入する
コード
List = [['a','b','c','d'],['a','b','c','d'],['a','b','c','d']]
col_out = [col.pop(1) for col in List for i in col]
print(col_out)
結果
['b', 'c', 'b', 'c', 'b', 'c']
ようにそれを行うことができますリスト全体。リスト内の値ではありません。 – PyNoob