序章

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にアイテムを渡すと、次のエラーが発生します。

Output
ValueError: 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)
Output
devil 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()