Python3でリストメソッドを使用する方法

提供:Dev Guides
移動先:案内検索

序章

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

このチュートリアルを最大限に活用するには、リストデータ型、その構文、およびインデックス付けの方法にある程度精通している必要があります。 チュートリアルPython3でのリストの理解を読むと、リストを確認できます。

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

リストは変更可能(または変更可能)なデータ型であることに注意することが重要です。 不変であるstringsとは異なり、リストでメソッドを使用する場合は常に、リストのコピーではなく、リスト自体に影響を与えます。

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

前提条件

Python 3をインストールし、コンピューターまたはサーバーにプログラミング環境をセットアップする必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)

list.append()

メソッドlist.append(x)は、リストの最後にアイテム(x)を追加します。 まず、水族館全体に散らばっている魚のリストから始めましょう。 <$>[情報] 情報: このチュートリアルのサンプルコードに従うには、ローカルシステムでPythonインタラクティブシェルを開いて、python3 指図。 次に、>>>プロンプトの後に例を追加して、例をコピー、貼り付け、または編集できます。 <$>

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になります。

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

list.extend()

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

私たちの水族館は、閉鎖されている別の水族館からの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()

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

地元の研究者のグループが水族館を訪れました。 彼らはキッシンググラミーの魚の研究を行っています。 キッシンググラミーの貸し出しを依頼されたので、この変更を反映して'kissing gourami'のアイテムをリストから削除します。

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番目のキスグラミーがあります。

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()と同じアイテムのリストであることを確認します。 X165X]。

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

この時点で、fishfish_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の非常に柔軟なデータ構造です。 リストメソッドを使用すると、洗練された方法でリストを操作できます。 メソッドをリストを変更する他の方法と組み合わせて、プログラムでリストを効果的に使用するためのあらゆるツールを利用できます。 ここから、リスト内包表記について読んで、既存のリストに基づいてリストを作成できます。