Pythonのリストと多次元・スライス・内包表記・例題について





1. リストとは
Pythonのリスト(list
)は、複数の要素を一つの変数に格納することができるデータ型の一つです。リストは、さまざまなデータ型の要素を含めることができ、要素の追加や削除も簡単に行うことができます。
2. リストの作成
リストは、角括弧 []
を使って作成します。リストの要素はコンマ ,
で区切ります。リストには数値、文字列、他のリストなど、様々なデータ型を含めることが可能です。
# 数値のリスト
numbers = [1, 2, 3, 4, 5]
# 文字列のリスト
fruits = ['apple', 'banana', 'cherry']
# 異なるデータ型を含むリスト
mixed = [1, 'apple', True, 3.14]
# リストのリスト(多次元リスト)
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3. リストのインデックス
リスト内の各要素には、インデックス番号(位置)が付いています。インデックスは0から始まり、要素を参照するために使います。負のインデックスを使うと、リストの最後の要素から数えます。
# インデックスで要素を取得
print(numbers[0]) # 1
print(fruits[1]) # 'banana'
# 負のインデックスで要素を取得
print(numbers[-1]) # 5
print(fruits[-2]) # 'banana'



4. リストの操作
4.1. リストへの要素の追加
リストに新しい要素を追加するには、append()
メソッドを使います。リストの最後に要素が追加されます。また、insert()
メソッドを使うと、指定した位置に要素を挿入することができます。
numbers.append(6)
print(numbers) # [1, 2, 3, 4, 5, 6]
numbers.insert(2, 9)
print(numbers) # [1, 2, 9, 3, 4, 5, 6]
4.2. リストからの要素の削除
remove()
メソッドを使うと、指定した値をリストから削除することができます。また、pop()
メソッドを使うと、指定したインデックスの要素を削除し、その要素を返します。インデックスを指定しない場合は、最後の要素が削除されます。
numbers.remove(9)
print(numbers) # [1, 2, 3, 4, 5, 6]
last_item = numbers.pop()
print(last_item) # 6
print(numbers) # [1, 2, 3, 4, 5]
4.3. リストの結合
2つ以上のリストを結合するには、+
演算子を使います。また、extend()
メソッドを使って、別のリストを追加することもできます。
more_fruits = ['orange', 'grape']
all_fruits = fruits + more_fruits
print(all_fruits) # ['apple', 'banana', 'cherry', 'orange', 'grape']
fruits.extend(more_fruits)
print(fruits) # ['apple', 'banana', 'cherry', 'orange', 'grape']
4.4. リストのスライス
リストの一部を取得するために、スライスという手法を使います。スライスは、リストの開始位置と終了位置を指定することで、部分リストを取得します。
# 2番目から4番目までの要素を取得
print(fruits[1:4]) # ['banana', 'cherry', 'orange']
# 先頭から3番目までの要素を取得
print(fruits[:3]) # ['apple', 'banana', 'cherry']
# 4番目から最後までの要素を取得
print(fruits[3:]) # ['orange', 'grape']
4.5. リストのループ処理
リストの要素を順番に処理するには、for
ループを使います。
for fruit in fruits:
print(fruit)
# 出力:
# apple
# banana
# cherry
# orange
# grape
4.6. リスト内包表記
リスト内包表記を使うと、リストを簡潔に作成することができます。リスト内包表記は、既存のリストの各要素に対して操作を行い、新しいリストを生成するための便利な方法です。
# 1から10までの数字を2倍にしたリストを作成
doubled = [x * 2 for x in range(1, 11)]
print(doubled) # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
4.7. リストの長さを取得
len()
関数を使うと、リストの要素数を取得することができます。
print(len(fruits)) # 5
5. 例題
5.1. 例題1:内包表記を利用した例題
my_list = [2, 5, 8, 11, 14]
に対して、要素を2倍した新しいリストを作成しなさい。期待される出力: [4, 10, 16, 22, 28]
解答の手順:
my_list
の各要素にアクセスし、それぞれの要素を2倍する。- 新しいリストに結果を追加する。
解答:
my_list = [2, 5, 8, 11, 14]
new_list = [x * 2 for x in my_list]
print(new_list)
5.2. 例題2:内包表記と条件分岐を利用した例題
numbers = [3, 7, 1, 9, 12, 4]
から、偶数のみを抽出したリストを作成しなさい。期待される出力: [12, 4]
解答の手順:
numbers
の各要素にアクセスし、偶数かどうかを確認する。- 偶数であれば、新しいリストに追加する。
解答:
numbers = [3, 7, 1, 9, 12, 4]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)
check
Pythonの基本から応用まで、幅広くカバーする記事を公開中です。学習のポイントや実践的なコード例を通じて、Pythonの魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!