リストまたは配列を反転することは、一般的なプログラミング タスクです。リストを並べ替える場合など、多くの場合、データを逆の順序で表示する必要があることがあります。
Python を使用してリストまたは配列を反転するにはどうすればよいですか?この記事ではさまざまな方法について学びます。
Python の for ループはより冗長ですが、状況によっては便利な場合があります。たとえば、逆操作の特定の時点で複雑なロジックを実行する場合に、より高い柔軟性が提供されます。
関連: Python で For ループを使用する方法 https://www.linuxmi.com/python-for-loops.html
インデントされた for ループを使用する場合の一般的な方法は、元のループを走査することです。逆の順序でリストします。最後の要素から開始して、反復ごとに前の要素が新しいリストに追加されます。
1 から 9 までの整数のリストを例として、インデントされた for ループを使用して配列を反転する方法を次に示します。
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 创建一个空列表来保存反向数组: reversed_list = [] # 从原始数组的长度中减去一,以从最后一个索引开始: reducer = len(languages)-1 # 在for循环中反转列表: for i in languages: reversed_list.append(languages[reducer]) # 将结果追加到空列表 reducer -=1 # 使用reducer在每次迭代时将索引减少1 print(reversed_list)
出力:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
リスト内包表記を使用すると、より短いコードが生成されます。また、リスト内包表記は適切なリストに対して機能するため、一時変数は必要ありません。
前の操作を実行するには、リスト内包表記を使用します:
reducer = len(languages) # 在列表推导式中,使用for循环在范围函数中递减索引 Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)] print(Reversed_list)
出力:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
リスト スライス演算子は非常に単純ですが、いくつかの制限があります。たとえば、for ループを使用する場合のように出力をカスタマイズできない場合があります。
スライス演算子を使用してリストを反転する方法は次のとおりです:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9] rev_list = languages[::-1] print(rev_list)
出力:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
[::-1] この構文は、反転を生成するきれいなショートカットです。リスト。これは実際には、「リストの各要素を最後から逆にコピーする」、つまり「逆にする」ことを意味します。
これはもう 1 つの効率的な方法です。元の配列を変更します。他の操作のために以前のリストを保持できないため、これは欠点になる可能性があります。
次は、reverse メソッドを使用して配列を反転する方法です:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9] languages.reverse() print(languages)
出力:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
reversed 関数は、リスト、配列、またはその他のシーケンスを反復処理し、その逆コピーを返します。ただし、逆出力をリストとして明示的に宣言する必要があります。
仕組みは次のとおりです:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(list(reversed(languages)))
出力:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
配列またはリストは次のとおりです。データを保存する一般的な方法。目標に応じて、データを逆の順序でクライアントに提示することもできます。 1 つの方法は、レンダリング前に配列またはリストを反転することです。ご覧のとおり、Python でリストを反転するにはいくつかの方法があります。自分にとって最適で、特定の問題に対するロジックと一貫性のあるアプローチを選択してください。
以上がPython を使用してリストまたは配列を反転する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。