ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Python - リスト

初めに

 Python におけるリストの使い方をまとめます。リストの作成の仕方、要素の追加、削除、変更の仕方などをまとめています。

リスト

リストの作成

 Python では、リストを [] で作成します。

# 空のリストを作成
empty_list = []

# 要素を含むリストを作成
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'cherry']

# 異なる型の要素を含むリストも作成できます
mixed = [1, 'apple', True, 3.14]
リストの確認

 print 関数を用いて、リストの内容を確認できます。

# 空のリストを作成
empty_list = []

# 要素を含むリストを作成
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'cherry']

# 異なる型の要素を含むリストも作成できます
mixed = [1, 'apple', True, 3.14]

# リストの確認
print(empty_list)
print(numbers)
print(fruits)
print(mixed)


要素の参照

 要素の参照はインデックス(添え字)を用いて行います。インデックスは 0 から始まります。

fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig']

# リストの要素を参照
print(fruits[0])  # 'apple'
print(fruits[1])  # 'banana'
print(fruits[2])  # 'cherry'
print(fruits[3])  # 'date'
print(fruits[4])  # 'elderberry'
print(fruits[5])  # 'fig'
要素の変更

 参照した要素に代入することで、要素を変更することができます。

fruits = ['apple', 'banana', 'cherry']
fruits[1] = 'orange'  #"banana"を"orange"に変更
print(fruits)  # ['apple', 'orange', 'cherry']
要素の追加

 リストの要素を追加する方法として、append()、extend()、insert()、スライスの4つの方法があります。

  • append():リストの末尾に要素を追加

    fruits = ['apple', 'banana', 'cherry']
    fruits.append('grape')
    print(fruits)  # ['apple', 'banana', 'cherry', 'grape']
    


  • extend():リストとリストを結合

    fruits = ['apple', 'banana', 'cherry']
    more_fruits = ['grape', 'orange']
    fruits.extend(more_fruits)
    print(fruits)  # ['apple', 'banana', 'cherry', 'grape', 'orange']
    


  • insert():指定位置に要素を挿入

    fruits = ['apple', 'banana', 'cherry']
    fruits.insert(1, 'grape')  # インデックス1の位置に'grape'を挿入
    print(fruits)  # ['apple', 'grape', 'banana', 'cherry']
    


  • スライス:指定位置に別のリストを挿入

    fruits = ['apple', 'banana', 'cherry']
    fruits[1:1] = ['grape', 'orange']  # インデックス1の位置に'grape'と'orange'を挿入
    print(fruits)  # ['apple', 'grape', 'orange', 'banana', 'cherry']
    


 スライスについては、下記で説明しています。

要素の削除

 リストの要素を削除するには、clear()、pop()、remove()、del キーワードを使う方法があります。

  • clear():全ての要素を削除

    numbers = [1, 2, 3, 4, 5]
    numbers.clear()
    print(numbers)  # [], clear後は空のリストになる
    


  • pop():指定した位置の要素を取り出し、リストから削除
    numbers = [1, 2, 3, 4, 5]
    popped_element = numbers.pop(2) # インデックス2の要素を取り出す
    print(popped_element) # 3
    print(numbers) # [1, 2, 4, 5]

  • remove():指定した値と一致する最初の要素を削除

    fruits = ['apple', 'banana', 'cherry', 'banana', 'date']
    fruits.remove('banana')  # 最初に出現する 'banana' を削除
    print(fruits)  # ['apple', 'cherry', 'banana', 'date']
    


  • del キーワード:指定した位置の要素またはスライスを削除

    fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']
    
    # 要素の削除
    del fruits[1]  # インデックス1の要素('banana')を削除
    print(fruits)  # ['apple', 'cherry', 'date', 'elderberry']
    # スライスによる削除
    del fruits[1:3]  # インデックス1から2までの要素を削除
    print(fruits)  # ['apple', 'elderberry']
    # リストそのものの削除
    del fruits
    # fruits リストは存在しなくなります
    

リストの長さ(要素数

 リストの長さ(要素数)を取得するには、len() を用います。

len(シーケンス)
fruits = ['apple', 'banana', 'cherry']
length = len(fruits)
print(length)  # 3

 len() の引数には、シーケンス(リスト、タプル、文字列など)をとることができます。

繰り返し

 リストの繰り返しは、while 文と for 文を用いて実現されます。

  • whille 文

    fruits = ['apple', 'banana', 'cherry']
    index = 0
    
    while index < len(fruits):  #fruitsの要素数だけ繰り返す
        print(fruits[index])
        index += 1
    


  • for 文

    fruits = ['apple', 'banana', 'cherry']
    
    # 通常の場合
    for fruit in fruits:
        print(fruit)
    
    # インデックスが必要な場合, enumerate() 関数を用いる
    for index, fruit in enumerate(fruits):
        print(f"Index {index}: {fruit}")
    


 Python の繰り返し処理については、以前、記事にまとめております。break や continue の使い方などを知りたい場合はこちらをご覧ください。

fineworks-fine.hatenablog.com

備考

スライス

 Pythonにおけるスライス(slice)は、リストや文字列などのシーケンス型オブジェクトから一部を取り出す方法のことを言います。

 スライスは、次のように表現されます。

start:stop:step
要素 説明
start スライスの開始位置(含まれる)
stop スライスの終了位置(含まれない)
step ステップ数
デフォルト値は 1
numbers[2:6]  # インデックス2から5までの要素を取得
# 結果: [2, 3, 4, 5]

numbers[0:9:2]  # インデックス0から8までの要素を2つずつ取得
# 結果: [0, 2, 4, 6, 8]

 スライスの一部を省略することもできます。

numbers[:5]  # 最初からインデックス4までの要素を取得
# 結果: [0, 1, 2, 3, 4]

numbers[5:]  # インデックス5から最後までの要素を取得
# 結果: [5, 6, 7, 8, 9]

numbers[::2]  # 全体から2つおきに要素を取得
# 結果: [0, 2, 4, 6, 8]