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 の使い方などを知りたい場合はこちらをご覧ください。
備考
スライス
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]