[解決済み] Pythonで "反転 "リストを作成する最良の方法とは?
2023-01-05 23:51:36
質問
Pythonで、項目が他のリストと同じであるが逆順の新しいリストを作成する最良の方法は何でしょうか?(私は既存のリストをその場で変更したくありません)。
ここに、私に思いついた1つの解決策があります。
new_list = list(reversed(old_list))
を重複させることも可能です。
old_list
というように複製して、その場で反転させることも可能です。
new_list = list(old_list) # or `new_list = old_list[:]`
new_list.reverse()
私が見落としている、より良い選択肢はありますか?そうでない場合、上記のアプローチのいずれかを他よりも使用する説得力のある理由 (効率性など) がありますか?
どのように解決するのですか?
newlist = oldlist[::-1]
は
[::-1]
スライス(妻のAnnaはこれを "火星人のスマイリーと呼んでいます)は、シーケンス全体を -1 のステップで、つまり逆方向でスライスすることを意味します。 これはすべてのシーケンスで機能します。
なお、この (
と
は浅いコピーと同じです。つまり、アイテムが変異可能で、それに対してミューテータを呼び出すと、元のリストにあるアイテムの変異は反転したリストのアイテムにもあり、その逆もまた然りです。 もし、それを避ける必要があるならば
copy.deepcopy
(常にコストのかかる操作になる可能性がありますが)、この場合、その後に
.reverse
が唯一の良い選択肢です。
関連
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonの辞書にあるスレッドセーフについて