# リスト

# リストの基礎

Pythonでリストは以下のように定義します。

list = []

リストに事前に定義された値を入れておきたい場合は以下のように定義します。

リストの要素はあらゆる型のデータを入れることが可能であり、混在しても構いません。

また、リストの中にリストを入れることも可能です。これをネストと呼びます。

list_number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list_number_kanji = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"]
list_mix = [10, "apple", 20, "lemon", 30, "melon", [40, "orange"]]

# リストの値の取得

リストには0からインデックスと呼ばれる番号が0,1,2,...と続いており、それを使用して文字列を取得することができます。

list_number[0] # 0
list_number[2] # 2

list_number_kanji[0] # 零
list_number_kanji[2] # 二

インデックスの数値が負であった場合、最後の要素から取得されます。

list_number[-1] # 9

list_number_kanji[-1] # 九

ネストの場合はインデックスが複数つきます。

>>> list_mix[6][0]
40

# リストの検索

リストを検索するためには、一度すべてのリストの中身を取り出してそれに合致するかを試行します。

リストの中身を取り出すためにはループを使用します。また、リストの中の要素の数をカウントするためにlen()を使用します。

fruits = ["apple", "lemon", "melon", "orange"]

i = 0
while i < len(fruits):
    if(fruits[i] == "apple"):
        print("Matched:"+fruits[i])
    i+=1

# リストの並び替え

リストを小さい順に並び替えるにはsorted()関数を使用します。

>>> list_number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> sorted(list_number)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 演習5-1-1

5-1-1.pyにてlist_mixからorangeを取得せよ。

# 演習5-1-2

5-1-2.pyにてfruitsからnで終わる要素を取得せよ。

なお、終わりの文字であるかどうかはendswith()関数を使用する。

# 演習5-1-3

5-1-3.pyにてlist_number_kanjiをソートして出力せよ。