リストの紹介
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