Python リスト: 配列、メソッド、反復
Python リストについてすべて学びましょう。 Python で配列をネイティブに作成、スライス、変更、反復処理する方法を学びます。
概要
Python では、リストはデータのコレクションを保存するために使用される 4 つの組み込みデータ型のうちの 1 つです。リストは、一連の項目を特定の順序で保持する動的配列と考えることができます。リストは非常に汎用性が高く、単純な To-Do アプリケーションから複雑な機械学習パイプラインに至るまで、記述されたほぼすべての Python スクリプトで大きく依存しています。
均一なデータ型を強制する静的型付け言語の配列とは異なり、Python リストは完全に異種混合にすることができます。これは、1 つのリストで、整数、浮動小数点、文字列、オブジェクト、さらには他のネストされたリストの混合を快適に保持できることを意味します。リストを宣言するには、項目を角かっこ `[]` で囲み、各項目をカンマで区切ります。
リストは順序付けされ、インデックスが付けられます。リスト内の項目は、「0」から始まる整数のインデックスにマップされます。したがって、最初の項目には `my_list[0]` を介してアクセスされ、2 番目の項目には `my_list[1]` を介してアクセスされます。 Python は、負のインデックス付けもサポートしています。これは、`my_list[-1]` が最後の項目、`my_list[-2]` が最後から 2 番目の項目を取得する独自の強力な機能であり、リストの長さを手動で計算する必要がなくなります。
リストは完全に変更可能です。つまり、リストを作成した後にその場で変更できます。インデックスによって特定の項目を再割り当てしたり、組み込みメソッドを利用したりできます。 `.append()` のようなメソッドは項目を末尾に追加し、`.insert()` は特定のインデックスに項目を挿入し、`.remove()` または `.pop()` は項目を削除します。リストには、アルゴリズムによる並べ替えのための `.sort()` とシーケンスを反転するための `.reverse()` も備わっています。
Python リストに特有の強力な機能は「スライス」です。スライスを使用すると、開始インデックス、終了インデックス、ステップ サイズを「my_list[start:stop:step]」の形式で指定してサブリストを抽出できます。これにより、開発者は、高度に最適化された C ベースのコードの 1 行で配列のチャンクを取得したり、配列をコピーしたり、配列を反転したりすることができるため、データ操作が非常に表現力豊かになります。
コードと実行の出力
初期化、インデックス付け、変更、および標準リストの反復を示します。
fruits = ["apple", "banana", "cherry"]
fruits.append("orange") # Add item
fruits[1] = "mango" # Change item
fruits.sort() # Alphabetical sort
print(f"List: {fruits}")
print(f"First fruit: {fruits[0]}")
print(f"Total fruits: {len(fruits)}")List: ['apple', 'cherry', 'mango', 'orange']
First fruit: apple
Total fruits: 4段階的な実装
- 順序付けられたコレクションをタスクのキューのように保持する
- 時間の経過とともにデータポイントを蓄積する
- スタックとキューの実装
よくある質問
リスト内包表記とは何ですか?
既存のリストの値に基づいて新しいリストを作成する場合は、これより短い構文になります。例: [x に「a」がある場合、果物の x には x]
リストとタプルの違いは何ですか?
リストは可変 (変更可能) ですが、タプルは不変 (変更不可能) です。タプルは括弧 () を使用します。
関連トピック
推奨される Python リソース
関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。
Python で 2 つのリストをマージする方法
Python で 2 つのリストをマージおよび結合する最良の方法を学びます。プラス演算子、拡張メソッド、リストのアンパック、およびチェーンのオプションを比較します。
Python 文字列メソッドのチートシート
Python 文字列操作の完全なリファレンス ガイド。文字列プロパティの書式設定、検索、分割、置換、チェックをマスターします。
Python と JavaScript: どちらのプログラミング言語が最適ですか?
Python と JavaScript の包括的な比較。構文の違い、パフォーマンス、使用例 (バックエンドとフロントエンド)、およびコーディング例を調べます。