前書き

Python 3には、リストを含む多数の組み込みデータ構造があります。 データ構造はデータを整理および保存する方法を提供し、組み込みのメソッドを使用してそのデータを取得または操作できます。

このチュートリアルを最大限に活用するには、リストのデータ型、構文、およびインデックスの作成方法についてある程度の知識が必要です。 リストを確認するには、チュートリアルhttps://www.digitalocean.com/community/tutorials/understanding-lists-in-python-3[Python 3のリストを理解する]を読んでください。

ここでは、リストを操作するために使用できる組み込みメソッドについて説明します。 リストにアイテムを追加したり、リストからアイテムを削除したり、リストを拡張したり、リストを逆に並べ替えたりします。

リストは変更可能な(または変更可能な)データ型であることに注意してください。 不変であるhttps://www.digitalocean.com/community/tutorial_series/working-with-strings-in-python-3[strings]とは異なり、リストでメソッドを使用するときは常にリスト自体に影響を与え、リストのコピーではありません。

このチュートリアルでは、主に市営水族館で魚を追加または削除する際に変更する必要があるさまざまな魚の目録で構成されるリストを使用します。

list.append()

メソッド + list.append(x)+`は、リストの最後にアイテム( `+ x +)を追加します。 水族館全体に分散している魚のリストから始めます。

fish = ['barracuda','cod','devil ray','eel']

このリストは4つの文字列アイテムで構成され、インデックス番号の範囲は0の `+ ‘barracuda’ `からインデックス3の ` ‘eel’ +`です。

今日、新しい魚を水槽に入れました。その魚をリストに追加したいと思います。 新しい魚タイプの文字列「+ ‘flounder’ 」を「 list.append()+」メソッドに渡し、変更されたリストを印刷して、アイテムが追加されたことを確認します。

fish.append('flounder')
print(fish)
Output['barracuda', 'cod', 'devil ray', 'eel', 'flounder']

これで、 `+ .append()+`関数に渡した項目で終わる5つの文字列項目のリストができました。

list.insert()

+ list.insert(i、x)+`メソッドは2つの引数を取ります。+ i + はアイテムを追加するインデックス位置で、 + x + `はアイテム自体です。

私たちの水族館は別の新しい魚、カタクチイワシを獲得しました。 あなたはこれまでリスト `+ fish `がアルファベット順になっていることに気づいたかもしれません。 このため、 ` list.append()`関数を使用して、文字列 ` ‘anchovy’ `を ` fish `の最後に追加したくありません。 代わりに、 ` list.insert()`を使用して、このリストの先頭のインデックス位置 ` 0 `に ` ‘anchovy’ +`を追加します。

fish.insert(0,'anchovy')
print(fish)
Output['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder']

この場合、リストの先頭に文字列アイテムを追加しました。 連続する各アイテムは、すべて下に移動したため、新しいインデックス番号になります。 したがって、 + 'barracuda' +`はインデックス1に、 `+ 'cod' +`はインデックス2に、 `+ 'flounder' +-最後のアイテム-はインデックス5にあります。

この時点で、スズメダイを水族館に持ち込み、上記のリストに基づいてアルファベット順を維持したい場合、アイテムをインデックス `+ 3 `に配置します: ` fish.insert(3、 ‘damselfish ‘)+ `。

list.extend()

複数のリストを組み合わせたい場合は、引数として2番目のリストを受け取る `+ list.extend(L)+`メソッドを使用できます。

私たちの水族館は、閉鎖中の別の水族館から4匹の新しい魚を歓迎しています。 リスト `+ more_fish +`にこれらの魚が一緒にあります:

more_fish = ['goby','herring','ide','kissing gourami']

リスト `+ more_fish `のアイテムをリスト ` fish +`に追加し、リストを印刷して、2番目のリストが組み込まれたことを確認します。

fish.extend(more_fish)
print(fish)
Output['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder', 'goby', 'herring', 'ide', 'kissing gourami']

この時点で、リスト「+ fish +」は10項目で構成されています。

list.remove()

リストからアイテムを削除する必要がある場合は、 `+ x `と値が等しいリストの最初のアイテムを削除する ` list.remove(x)+`メソッドを使用します。

地元の研究科学者グループが水族館を訪れました。 彼らは魚のキスグーラミ種の研究を行っています。 彼らは私たちにキスグーラミを貸してくれるようにリクエストしてきたので、この変更を反映するためにリストから「+ ‘キスグーラミ’ +」アイテムを削除したいと思います。

fish.remove('kissing gourami')
print(fish)
Output['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder', 'goby', 'herring', 'ide']

`+ list.remove()`メソッドの使用に続いて、リストには ` ‘kissing gourami’ +`アイテムがなくなりました。

リストに存在しない `+ list.remove()`の ` x +`にアイテムを渡すと、次のエラーが表示されます。

OutputValueError: list.remove(x): x not in list

`+ list.remove()`は渡したアイテムの最初のインスタンスのみを削除することに注意してください。そのため、水槽に2つのキスグーラミスがあり、1つだけを科学者に貸した場合は、 ` fish.remove( ‘kissing gourami’)+`と同じ構成で、リストに2番目のキスgouramiがまだあります。

list.pop()

`+ list.pop([i])`メソッドを使用して、リストから指定されたインデックス位置にあるアイテムを返し、そのアイテムを削除できます。 インデックスの ` i `を囲む角括弧は、このパラメーターがオプションであることを示しているため、インデックスを指定しない場合( ` fish.pop()+`のように)、最後のアイテムが返されて削除されます。

私たちのデビルレイは水族館には大きすぎます。ありがたいことに、いくつかの町にある水族館はレイのニーズに対応できます。 + .pop()+`を使用して、文字列項目 `+ 'devil ray' +`のインデックス番号( `+ 3 +)を指定して、リストから項目を削除し、それを返すことで、正しいアイテムを削除することを確認します。

print(fish.pop(3))
print(fish)
Outputdevil ray
['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']

`+ .pop()`メソッドを使用することにより、リスト ` fish `から ` ‘devil ray’ +`を返し、削除することができました。

このメソッドにパラメーターを渡さずに `+ fish.pop()`を実行すると、最後の項目 ` ‘ide’ +`が返され、リストから削除されます。

list.index()

リストが長くなり始めると、特定の値がどのインデックス位置にあるかを判断するためにアイテムを数え上げるのが難しくなります。 「+ list.index(x)」を使用して、「 x 」がアイテムの値に相当する場合、そのアイテムが配置されているリスト内のインデックスを返すことができます。 値が「 x +」のアイテムが複数ある場合、このメソッドは最初のインデックス位置を返します。

print(fish)
print(fish.index('herring'))
Output['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']
6

リスト「+ fish 」はそれほど長くありませんが、カウントせずにアイテム「 ‘herring’ +」のインデックス位置を判断することはできます。 リストを効果的に操作できるように、各アイテムのインデックスは非常に重要です。

+ .index()+`で値を指定し、指定されたリストにそのような値が存在しない場合、エラーが発生します: `+ ValueError: 'x' is not in list +

list.copy()

リストを操作していて、元のリストを変更せずに複数の方法で操作したい場合、 `+ list.copy()+`を使用してリストのコピーを作成できます。

`+ fish.copy()`から返された値を変数 ` fish_2 `に渡し、 ` fish_2 `の値を出力して、それが `+と同じ項目を持つリストであることを確認します。魚 `。

fish_2 = fish.copy()
print(fish_2)
Output['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']

この時点で、 `+ fish `と ` fish_2 +`は両方とも同等のリストです。

list.reverse()

`+ list.reverse()`メソッドを使用して、リスト内のアイテムの順序を逆にすることができます。 おそらく、従来のアルファベット順よりもアルファベットの逆順を使用する方が便利です。 その場合、リストを所定の位置に反転させるには、 ` fish `リストで ` .reverse()+`メソッドを使用する必要があります。

fish.reverse()
print(fish)
Output['ide', 'herring', 'goby', 'flounder', 'eel', 'cod', 'barracuda', 'anchovy']

`+ .reverse()`メソッドを使用した後、リストはリストの最後にある項目 ` ‘ide’ `で始まり、リストにある ` ‘anchovy’ +`で終わります。リストの先頭。

list.count()

`+ list.count(x)`メソッドは、指定されたリスト内で値 ` x `が出現する回数を返します。 多数の一致する値を持つ長いリストがある場合に、このメソッドを使用できます。 たとえば、より大きな水槽があり、持っているネオンテトラごとにアイテムがある場合、「。count()+」を使用して、ある時点でのネオンテトラの総数を決定できます。

現在のリストを使用して、項目「+ ‘goby’ + `が表示される回数をカウントします。

print(fish.count('goby'))
Output1

文字列 `+ ‘goby’ `は1回しか表示されないため、 ` .count()+`メソッドを使用すると数値1が返されます。

また、整数リストでこのメソッドを使用します。 私たちの水族館は、すべての魚に細心の注意を払うことを約束しているため、各魚の年齢を追跡することで、年齢に応じて彼らの食事が魚のニーズを満たすようにしています。 この2番目のリスト「+ fish_ages 」は、他のリスト「 fish +」の魚のタイプに対応しています。

1歳魚には特別な食事の必要があるため、1歳魚の数を数えます。

fish_ages = [1,2,4,3,2,1,1,2]
print(fish_ages.count(1))
Output3

整数 `+ 1 `はリスト ` fish_ages `に3回出現するため、 ` .count()+`メソッドを使用すると、数値3が返されます。

list.sort()

`+ list.sort()+`メソッドを使用して、リスト内のアイテムをソートできます。

`+ list.count()`と同様に、 ` list.sort()+`は特定の整数値がいくつあるかをより明確にし、ソートされていない数値のリストを数値順に並べることができます。

整数リスト `+ fish_ages `を使用して、動作中の ` .sort()+`メソッドを見てみましょう。

fish_ages.sort()
print(fish_ages)
Output[1, 1, 1, 2, 2, 2, 3, 4]

`+ .sort()`を ` fish_ages +`とともに使用すると、整数値が順番に返されます。 実際には、これらの年齢は特定の魚に対応しているため、ソートする前に元のリストのコピーを作成することをお勧めします。

list.clear()

リストが完成したら、 `+ list.clear()+`メソッドを使用して、リストに含まれるすべての値を削除できます。

地方自治体は私たちの水族館を引き継ぐことを決定し、私たちの街の人々が楽しむための公共スペースにしました。 私たちは水族館で作業しなくなったので、魚の目録を保持する必要がなくなったので、「+ fish +」リストをクリアしましょう。

fish.clear()
print(fish)
Output[]

`+ fish `で ` .clear()+`関数を使用した後、出力として角括弧を受け取り、リストにすべてのアイテムが含まれていないことを知らせます。

結論

リストは、可変または変更可能な順序付けされた要素のシーケンスであるため、Pythonでは非常に柔軟なデータ構造です。 リストメソッドを使用すると、洗練された方法でリストを操作できます。 リスト内でリストを効果的に使用するためのあらゆるツールを提供するために、メソッドをhttps://www.digitalocean.com/community/tutorials/understanding-lists-in-python-3 [リストを変更する他の方法]と組み合わせることができますプログラム。 ここから、https://www.digitalocean.com/community/tutorials/understanding-list-comprehensions-in-python-3 [list comprehensions]について読んで、既存のリストに基づいてリストを作成できます。