リストの紹介

完了

Python には、文字列や整数など、多くの組み込み型があります。 Python には、値のコレクション (リスト) を格納するための型があります。

リストを作成する

一連の値を変数に割り当て、リストを作成します。 各値をコンマで区切り、角かっこ ([]) で囲みます。 次の例では、planets 変数内のすべての惑星のリストが格納されます。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

インデックスでリスト項目にアクセスする

リスト変数の名前の後に角かっこ ([]) で囲んだインデックスを挿入することで、リスト内の任意の項目にアクセスできます。 インデックスは 0 から始まるため、次のコードでは、planets[0] がリスト planets の最初の項目です。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
print("The first planet is", planets[0])
print("The second planet is", planets[1])
print("The third planet is", planets[2])
The first planet is Mercury
The second planet is Venus
The third planet is Earth

Note

すべてのインデックスは 0 から始まるので、[1] が 2 番目、[2] が 3 番目の項目であり、それ以降も同じです。

インデックスを使用して、リスト内の値を変更することもできます。 これを行うには、変数値を割り当てるのとほとんど同じ方法で、新しい値を割り当てます。 たとえば、リスト内の Mars の名前を変更して、そのニックネームを使用できます。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets[3] = "Red Planet"
print("Mars is also known as", planets[3])

出力: Mars is also known as Red Planet

リストの長さを確認する

リストの長さを取得するには、組み込み関数 len() を使用します。 次のコードでは、新しい変数 (number_of_planets) が作成されます。 このコードでは、リスト planets 内の項目の数 (8) を使用してその変数が割り当てられています。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
number_of_planets = len(planets)
print("There are", number_of_planets, "planets in the solar system.")

出力: There are 8 planets in the solar system

リストに値を追加する

Python のリストは動的です。リストの作成後に項目を追加および削除できます。 リストに項目を追加するには、メソッド .append(value) を使用します。

たとえば、次のコードでは、リスト planets の末尾に文字列 "Pluto" が追加されます。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets.append("Pluto")
number_of_planets = len(planets)
print("There are actually", number_of_planets, "planets in the solar system.")

出力: There are actually 9 planets in the solar system.

リストから値を削除する

リスト変数で .pop() メソッドを呼び出すことによって、リスト内の最後の項目を削除できます。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"]
planets.pop()  # Goodbye, Pluto
number_of_planets = len(planets)
print("No, there are definitely", number_of_planets, "planets in the solar system.")

負のインデックスを使用する

インデックスを使用して、リスト内の個々の項目をフェッチする方法を見てきました。

print("The first planet is", planets[0])

出力: The first planet is Mercury

インデックスは 0 から始まり、増えていきます。 負のインデックスはリストの末尾から始まり、後ろから前に進みます。

次の例では、インデックス -1 によって、リスト内の最後の項目が返されます。 インデックス -2 は、最後から数えて 2 番目を返します。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
print("The last planet is", planets[-1])
print("The penultimate planet is", planets[-2])
The last planet is Neptune
The penultimate planet is Uranus

最後から数えて 3 番目を返すには、インデックス -3 を使用します (以降も同じです)。

リスト内の値を検索する

リスト内の値が格納されている場所を確認するには、リストの index メソッドを使用します。 このメソッドにより、値が検索され、リスト内のその項目のインデックスが返されます。 一致が見つからなかった場合は、-1 が返されます。

次の例では、インデックス値としての "Jupiter" の使用が示されています。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
jupiter_index = planets.index("Jupiter")
print("Jupiter is the", jupiter_index + 1, "planet from the sun")

出力: Jupiter is the 5 planet from the sun

Note

インデックスは 0 で始まるため、正しい数値を表示するには 1 を追加する必要があります。

もう 1 つの例:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
mercury_index = planets.index("Mercury")
print("Mercury is the", mercury_index + 1, "planet from the sun")

出力: Mercury is the 1 planet from the sun