テクノロジー 開発 非公開: 11 の必知 Python リスト メソッド

11 の必知 Python リスト メソッド

このチュートリアルでは、Python リスト メソッドを使用して、Python リストに要素を追加、変更、削除する方法を学習します。

Python でプログラミングを始める場合、リストは最初に学ぶ組み込みデータ構造の 1 つです。これから数分間で、Python リストの基本を確認し、リストを操作するときに使用できるいくつかの便利なリスト メソッドについて説明します。

さぁ、始めよう!

Python リストの概要

Python では、リストは同じまたは異なるデータ型の 項目のコレクション です。 for ループなどのループ構造を使用して、コレクションをループして項目にアクセスできます。

すべての Python 反復可能オブジェクトと同様に、リストはゼロ インデックスに従い、スライス操作をサポートします。

これらは 変更可能なコレクション であるため、適切な場所で変更できます。これには、リストへの要素の追加と削除、特定の順序での要素の並べ替え、要素の順序の逆転などが含まれます。 Python の組み込みリスト メソッドは、これらのアクションの実行に役立ちます。

次に、いくつかの便利な Python リスト メソッドを見てみましょう。

Python の組み込みリスト メソッド

このセクションでは、便利なリストメソッドをいくつか学びます。これらのリスト メソッドの動作を確認するためのサンプルをコード化します。

次の pgm_langs リストを使用します。これは、一般的なプログラミング言語の名前を含む文字列のリストです。

 pgm_langs = ['Python','Go','Rust','JavaScript']
11 の必知 Python リスト メソッド
11 の必知 Python リスト メソッド

insert() を使用してリスト項目を挿入する

特定のインデックスに要素を挿入したい場合があります。これを行うには、 insert() メソッドを使用できます。 insert() リスト メソッドの呼び出しには次のものが含まれます。

  • 要素を挿入するインデックス、および
  • 挿入する要素。

index() メソッドを使用してインデックス 1 に「Scala」を挿入しましょう。

 pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']
11 の必知 Python リスト メソッド
11 の必知 Python リスト メソッド

append() を使用してリストに項目を追加する

Python-リスト-メソッド-1
Python-リスト-メソッド-1

場合によっては、リストの最後に要素を追加する必要があるかもしれません。これを行うには、 append() メソッドを使用できます。

append() メソッドを使用して、文字列「Java」をリストの末尾に追加してみましょう。

 pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

extend() で Iterable を追加する

append() メソッドを使用して単一の項目を追加できることはご存知でしょう。しかし、既存のリスト (項目リストなど) に複数の項目を追加したい場合はどうすればよいでしょうか? extend() メソッドは、これを行うための簡潔な構文を提供します。

extend() メソッドを使用して、リスト more_langs の要素を pgm_langs リストに追加しましょう。

 more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

項目のリストをループし、 append() メソッドを使用して一度に 1 つの項目を追加できます。ただし、これは冗長です。代わりに extend() メソッドを使用する方が便利です。

 for lang in more_langs:
    pgm_langs.append(lang)

reverse() でリストを反転する

リスト内の要素の順序を逆にするには、 reverse() メソッドを呼び出します。

pgm_langs リストが逆になっていることがわかります。

 pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Python でリストを反転して逆方向にスピンする方法もお読みください。

sort() を使用してリストを並べ替える

リストを並べ替えて並べ替える
リストを並べ替えて並べ替える

sort() メソッドを使用すると、Python リストをその場で並べ替えることができます。 pgm_langs 文字列のリストであるため、並べ替えはアルファベット順に行われることがわかります。

 pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

リストを逆アルファベット順に並べ替えるには、 sort() メソッド呼び出しで reverse パラメーターを True に設定します。

 pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Python リストの並べ替えについて詳しくは、こちらをご覧ください。

copy() で浅いコピーを作成する

元のリスト自体を変更するのではなく、元のリストのコピーを変更すると役立つ場合があります。リスト メソッド copy() Python リストの 浅いコピー を返します。

pgm_langs リストの浅いコピーを作成し、それを pgm_langs_copy と名付けましょう。そして、リストの最初の要素を「Haskell」に設定し、出力します。

 pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
 print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

ただし、 pgm_langs リストは変更されて いない ことがわかります。したがって、浅いコピーを作成して変更しても、元のリストは変更されません。

 print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

count() でアイテム数を取得する

リスト内で特定の要素が出現する回数を知ると役立つ場合があります。 count() メソッドは、リスト内で要素が出現する回数を返します。

pgm_langs リストでは、すべての要素が 1 回だけ出現します。したがって、「Go」のカウントを取得しようとすると、正しい 1 が得られます。

 print(pgm_langs.count('Go'))
# Output: 1

count() メソッドの使用は、Python リストから重複項目を削除する方法の 1 つです。

Index() を使用して項目のインデックスを取得する

Python リストで項目のインデックスを検索するには、 index() メソッドを使用できます。 pgm_langs リストで「C#」のインデックスを見つけたいとします。 assert ステートメントを使用して、インデックス 7 の要素が ‘C#’ であることを確認できます。

 print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Pop() を使用してインデックスにある項目を削除する

次に、Python リストから要素を削除する list メソッド list メソッドを見てみましょう。 pop() メソッドは、特定のインデックスにある要素を削除して返すために使用されます。前のコード例から、「C#」がインデックス 7 の言語であることがわかります。

インデックスとして 7 を指定して pgm_langs リストの pop() メソッドを呼び出すと、インデックス 7 の要素である ‘C#’ が返され、それがリストから削除されることがわかります。

 print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

したがって、 pop() メソッドは、指定されたインデックスにある要素を削除して返します。ただし、インデックスの指定は オプション です。インデックスを指定しない場合、以下に示すように、 pop() メソッドは Python リストの最後の要素を削除して返します。

 print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Remove() を使用して項目を削除する

削除付きアイテムの削除
削除付きアイテムの削除

場合によっては、 どの 要素を削除するかはわかっていても、そのインデックスが わからない 場合があります。この場合 remove() メソッドを使用できます。このメソッドは、削除する要素を取り込んで削除します。次に示すように remove() メソッドを使用して pgm_langs リストから「Java」を削除しましょう。

 pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

clear() を使用してすべての項目を削除する

Python リストからすべての項目を削除したい場合はどうすればよいでしょうか?次のように、 remove() メソッドを使用してリストをループし、各要素を削除できます。

 for lang in pgm_langs:
    pgm_langs.remove(lang)

しかし、もっと良い方法はあるでしょうか?はい、 clear() メソッドを使用します。 pgm_langs リストで clear メソッドを呼び出すとすべての要素が削除され、 pgm_langs 空のリストになっていることがわかります。

 pgm_langs.clear()
print(pgm_langs)
# Output: []

Python のリスト メソッドの概要

さまざまなリスト メソッドとその構文を簡単にまとめてみましょう。

リストメソッド 構文 説明
入れる() list1.insert(index, elt) list1 index elt 挿入します
追加() list1.append(elt) list1 の最後に elt を追加します
伸ばす() list1.extend(list2) list2 の要素を list1 の最後に追加します
選別() list1.sort() リストをその場で並べ替えます
逆行する() list1.reverse() list1 その場で反転します
コピー() list1.copy() list1 の浅いコピーを返します。
カウント() list1.count(elt) list1 elt の数を返します。
索引() list1.index(elt) list1 elt のインデックスを返します。
ポップ() list1.pop(index) index elt 削除して返します。
取り除く() list1.remove(elt) list1 から elt を削除します
クリア() list1.clear() list1 から すべての 要素を削除します

結論

このチュートリアルが、Python で最も一般的なリスト メソッドの使用方法を理解するのに役立つことを願っています。次のステップとして、Python タプルと、Python のリストとタプルの違いについて学習します。

「 11 の必知 Python リスト メソッド」についてわかりやすく解説!絶対に観るべきベスト2動画

【Python入門⑪】Python独特!リスト内包表記をマスターしよう!
【Python入門・応用】06.リスト|要素へのアクセス方法、追加や削除の仕方を学習しよう(初心者〜中級者向け)

このチュートリアルでは、Python リスト メソッドを使用して、Python リストに要素を追加、変更、削除する方法を学習します。

Python でプログラミングを始める場合、リストは最初に学ぶ組み込みデータ構造の 1 つです。これから数分間で、Python リストの基本を確認し、リストを操作するときに使用できるいくつかの便利なリスト メソッドについて説明します。

さぁ、始めよう!

Python リストの概要

Python では、リストは同じまたは異なるデータ型の 項目のコレクション です。 for ループなどのループ構造を使用して、コレクションをループして項目にアクセスできます。

すべての Python 反復可能オブジェクトと同様に、リストはゼロ インデックスに従い、スライス操作をサポートします。

これらは 変更可能なコレクション であるため、適切な場所で変更できます。これには、リストへの要素の追加と削除、特定の順序での要素の並べ替え、要素の順序の逆転などが含まれます。 Python の組み込みリスト メソッドは、これらのアクションの実行に役立ちます。

次に、いくつかの便利な Python リスト メソッドを見てみましょう。

Python の組み込みリスト メソッド

このセクションでは、便利なリストメソッドをいくつか学びます。これらのリスト メソッドの動作を確認するためのサンプルをコード化します。

次の pgm_langs リストを使用します。これは、一般的なプログラミング言語の名前を含む文字列のリストです。

 pgm_langs = ['Python','Go','Rust','JavaScript']
11 の必知 Python リスト メソッド
11 の必知 Python リスト メソッド

insert() を使用してリスト項目を挿入する

特定のインデックスに要素を挿入したい場合があります。これを行うには、 insert() メソッドを使用できます。 insert() リスト メソッドの呼び出しには次のものが含まれます。

  • 要素を挿入するインデックス、および
  • 挿入する要素。

index() メソッドを使用してインデックス 1 に「Scala」を挿入しましょう。

 pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']
11 の必知 Python リスト メソッド
11 の必知 Python リスト メソッド

append() を使用してリストに項目を追加する

Python-リスト-メソッド-1
Python-リスト-メソッド-1

場合によっては、リストの最後に要素を追加する必要があるかもしれません。これを行うには、 append() メソッドを使用できます。

append() メソッドを使用して、文字列「Java」をリストの末尾に追加してみましょう。

 pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

extend() で Iterable を追加する

append() メソッドを使用して単一の項目を追加できることはご存知でしょう。しかし、既存のリスト (項目リストなど) に複数の項目を追加したい場合はどうすればよいでしょうか? extend() メソッドは、これを行うための簡潔な構文を提供します。

extend() メソッドを使用して、リスト more_langs の要素を pgm_langs リストに追加しましょう。

 more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

項目のリストをループし、 append() メソッドを使用して一度に 1 つの項目を追加できます。ただし、これは冗長です。代わりに extend() メソッドを使用する方が便利です。

 for lang in more_langs:
    pgm_langs.append(lang)

reverse() でリストを反転する

リスト内の要素の順序を逆にするには、 reverse() メソッドを呼び出します。

pgm_langs リストが逆になっていることがわかります。

 pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Python でリストを反転して逆方向にスピンする方法もお読みください。

sort() を使用してリストを並べ替える

リストを並べ替えて並べ替える
リストを並べ替えて並べ替える

sort() メソッドを使用すると、Python リストをその場で並べ替えることができます。 pgm_langs 文字列のリストであるため、並べ替えはアルファベット順に行われることがわかります。

 pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

リストを逆アルファベット順に並べ替えるには、 sort() メソッド呼び出しで reverse パラメーターを True に設定します。

 pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Python リストの並べ替えについて詳しくは、こちらをご覧ください。

copy() で浅いコピーを作成する

元のリスト自体を変更するのではなく、元のリストのコピーを変更すると役立つ場合があります。リスト メソッド copy() Python リストの 浅いコピー を返します。

pgm_langs リストの浅いコピーを作成し、それを pgm_langs_copy と名付けましょう。そして、リストの最初の要素を「Haskell」に設定し、出力します。

 pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
 print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

ただし、 pgm_langs リストは変更されて いない ことがわかります。したがって、浅いコピーを作成して変更しても、元のリストは変更されません。

 print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

count() でアイテム数を取得する

リスト内で特定の要素が出現する回数を知ると役立つ場合があります。 count() メソッドは、リスト内で要素が出現する回数を返します。

pgm_langs リストでは、すべての要素が 1 回だけ出現します。したがって、「Go」のカウントを取得しようとすると、正しい 1 が得られます。

 print(pgm_langs.count('Go'))
# Output: 1

count() メソッドの使用は、Python リストから重複項目を削除する方法の 1 つです。

Index() を使用して項目のインデックスを取得する

Python リストで項目のインデックスを検索するには、 index() メソッドを使用できます。 pgm_langs リストで「C#」のインデックスを見つけたいとします。 assert ステートメントを使用して、インデックス 7 の要素が ‘C#’ であることを確認できます。

 print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Pop() を使用してインデックスにある項目を削除する

次に、Python リストから要素を削除する list メソッド list メソッドを見てみましょう。 pop() メソッドは、特定のインデックスにある要素を削除して返すために使用されます。前のコード例から、「C#」がインデックス 7 の言語であることがわかります。

インデックスとして 7 を指定して pgm_langs リストの pop() メソッドを呼び出すと、インデックス 7 の要素である ‘C#’ が返され、それがリストから削除されることがわかります。

 print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

したがって、 pop() メソッドは、指定されたインデックスにある要素を削除して返します。ただし、インデックスの指定は オプション です。インデックスを指定しない場合、以下に示すように、 pop() メソッドは Python リストの最後の要素を削除して返します。

 print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Remove() を使用して項目を削除する

削除付きアイテムの削除
削除付きアイテムの削除

場合によっては、 どの 要素を削除するかはわかっていても、そのインデックスが わからない 場合があります。この場合 remove() メソッドを使用できます。このメソッドは、削除する要素を取り込んで削除します。次に示すように remove() メソッドを使用して pgm_langs リストから「Java」を削除しましょう。

 pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

clear() を使用してすべての項目を削除する

Python リストからすべての項目を削除したい場合はどうすればよいでしょうか?次のように、 remove() メソッドを使用してリストをループし、各要素を削除できます。

 for lang in pgm_langs:
    pgm_langs.remove(lang)

しかし、もっと良い方法はあるでしょうか?はい、 clear() メソッドを使用します。 pgm_langs リストで clear メソッドを呼び出すとすべての要素が削除され、 pgm_langs 空のリストになっていることがわかります。

 pgm_langs.clear()
print(pgm_langs)
# Output: []

Python のリスト メソッドの概要

さまざまなリスト メソッドとその構文を簡単にまとめてみましょう。

リストメソッド 構文 説明
入れる() list1.insert(index, elt) list1 index elt 挿入します
追加() list1.append(elt) list1 の最後に elt を追加します
伸ばす() list1.extend(list2) list2 の要素を list1 の最後に追加します
選別() list1.sort() リストをその場で並べ替えます
逆行する() list1.reverse() list1 その場で反転します
コピー() list1.copy() list1 の浅いコピーを返します。
カウント() list1.count(elt) list1 elt の数を返します。
索引() list1.index(elt) list1 elt のインデックスを返します。
ポップ() list1.pop(index) index elt 削除して返します。
取り除く() list1.remove(elt) list1 から elt を削除します
クリア() list1.clear() list1 から すべての 要素を削除します

結論

このチュートリアルが、Python で最も一般的なリスト メソッドの使用方法を理解するのに役立つことを願っています。次のステップとして、Python タプルと、Python のリストとタプルの違いについて学習します。

「 11 の必知 Python リスト メソッド」についてわかりやすく解説!絶対に観るべきベスト2動画

【Python入門⑪】Python独特!リスト内包表記をマスターしよう!
【Python入門・応用】06.リスト|要素へのアクセス方法、追加や削除の仕方を学習しよう(初心者〜中級者向け)