listについてはじめに
- Pythonのリストは、複数の要素を順序付けて格納できるデータ構造です。要素は角かっこ(
[]
)で囲まれ、カンマで区切られます。 - リストはデータのコレクションを扱うための基本的で強力なツールであり、プログラムで多くのタスクを実行するのに不可欠です。データの保持・操作・整理に使用できます。
Pythonのlistの基本操作
リストの作成: リストを作成するには、要素を角かっこ []
で囲み、要素をカンマ ,
で区切ります。
my_list = [1, 2, 3, 4, 5]
要素へのアクセス: リスト内の要素には、0から始まるインデックスを使用してアクセスします。
first_element = my_list[0] # 最初の要素にアクセス
second_element = my_list[1] # 2番目の要素にアクセス
要素の変更: リストの要素は可変で、値を変更できます。
my_list[2] = 10 # 3番目の要素の値を変更
リストの長さの取得: len()
関数を使用して、リストの要素数(長さ)を取得できます。
length = len(my_list) # リストの長さを取得
リストへの要素の追加と削除:
要素をリストの末尾に追加するには append()
メソッドを使用します。
my_list.append(6) # 末尾に要素を追加
指定した位置に要素を挿入するには insert()
メソッドを使用します。
my_list.insert(2, 7) # 3番目の位置に要素を挿入
要素を削除するには remove()
メソッドを使用します。
my_list.remove(3) # 値が3の要素を削除
指定したインデックスの要素を削除するには pop()
メソッドを使用します。
removed_element = my_list.pop(1) # インデックス1の要素を削除し、削除された要素を取得
Pythonのlistのスライシング
- スライスの基本
スライスは、リスト内の連続した要素の部分集合を取得する方法です。
スライスの基本構文は次のようになります。
my_list[start:stop]
start
インデックスはスライスの開始位置を示し、この位置の要素を含みます。stop
インデックスはスライスの終了位置を示し、この位置の要素は含まれません。
例えば、リスト my_list = [1, 2, 3, 4, 5]
からスライスを取得する場合
my_list[1:4]
は[2, 3, 4]
を返します。my_list[:3]
は[1, 2, 3]
を返します。start
を省略した場合、最初の要素からスライスが始まります。my_list[2:]
は[3, 4, 5]
を返します。stop
を省略した場合、リストの最後の要素までスライスが続きます。my_list[:]
は[1, 2, 3, 4, 5]
を返します。リスト全体をコピーしたものです。
Pythonのlistのソート
リストの要素を昇順または降順にソートするには、以下の方法があります。
- 昇順ソート (
sort()
メソッドまたはsorted()
関数を使用)
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort() # リストを昇順にソート
# または
sorted_list = sorted(my_list) # 新しい昇順ソートされたリストを作成
- 降順ソート (
sort()
メソッドまたはsorted()
関数のreverse
パラメータを使用)
my_list.sort(reverse=True) # リストを降順にソート
# または
sorted_list_desc = sorted(my_list, reverse=True) # 新しい降順ソートされたリストを作成
Pythonのlistの合計、最大値、最小値の計算
合計を計算 (sum()
関数を使用)
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
total = sum(my_list) # リスト内の要素の合計を計算
最大値を取得 (max()
関数を使用)
max_value = max(my_list) # リスト内の最大値を取得
最小値を取得 (min()
関数を使用)
min_value = min(my_list) # リスト内の最小値を取得
「プログラムの環境構築からわからない、、」「データサイエンティストになるには?」など自己学習に不安がありましたら、以下のスクールのご活用をご検討ください!
Pythonのリスト内包表記(List Comprehension)
リストを効率的に生成するためのコンパクトで強力な方法です。
リスト内包表記を使用すると、ループや条件文を使わずに新しいリストを生成できます。リスト内包表記の基本的な構文と使用法について説明します。
基本的な構文:
new_list = [expression for item in iterable if condition]
expression
: 各要素に適用される式。新しいリストの要素がこの式の結果となります。item
: イテラブル(リスト、タプル、範囲など)内の要素を表す変数。iterable
: リスト内包表記で反復処理する対象のイテラブルオブジェクト。condition
(オプション): 条件式。要素が新しいリストに含まれる条件を指定します。
例:
- リスト内の各要素を2倍にした新しいリストを作成する例
numbers = [1, 2, 3, 4, 5]
doubled_numbers = [x * 2 for x in numbers]
# doubled_numbersは[2, 4, 6, 8, 10]となる
- 条件に合致する要素だけを新しいリストに含める例
numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
# even_numbersは[2, 4]となる
- 文字列リストから文字列の長さが3以下の要素だけを新しいリストに含める例
words = ["apple", "banana", "cat", "dog", "elephant"]
short_words = [word for word in words if len(word) <= 3]
# short_wordsは["cat", "dog"]となる
- リスト内包表記をネストして2次元リストを生成する例
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_matrix = [item for row in matrix for item in row]
# flattened_matrixは[1, 2, 3, 4, 5, 6, 7, 8, 9]となる
リスト内包表記は、使いこなすことで多くのデータ変換やフィルタリングのタスクをより読みやすく効率的に処理できます!
Pythonのlistのネスト(入れ子にする)
Pythonのリストは、他のリストやさまざまなデータ型の要素を含むことができるため、ネスト(入れ子にする)することができます。多次元データや複雑な構造を持つデータを表現するのに非常に役立ちます。
リストのネストについて詳しく説明します。
リスト内にリストをネストする:
リスト内に別のリストを含めることができます。これにより、多次元のデータ構造を作成できます。以下は、2つのリストをネストした例です。
この場合、nested_list
は3つのサブリストを含むリストです。
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
ネストされたリストへのアクセス:
ネストされたリスト内の要素にアクセスするには、インデックスを連鎖させて指定します。
例えば、ネストされたリストの要素にアクセスするには次のようにします。
value = nested_list[1][2] # 2番目のサブリストの3番目の要素にアクセス
ネストされたリストの操作:
ネストされたリストは、通常のリストと同様に操作できます。要素の追加、変更、削除などの操作も適用できます。例えば、ネストされたリストの要素を変更するには次のようにします。
nested_list[0][1] = 99 # 1番目のサブリストの2番目の要素を変更
リスト内包表記とネスト:
リスト内包表記を使用して、ネストされたリストを生成できます。例えば、2次元のゼロ行列を作成する場合は以下のようになります。
matrix = [[0 for _ in range(3)] for _ in range(3)]
Pythonのlistについてまとめ
ご紹介した通り、listには様々な操作が可能でありデータを保持・操作・整理することが可能です。
使いこなすことで、効率的なデータ操作が可能になります。
もしIT業界への転職でお困りでしたら、下記サービスのご活用をご検討ください!
私は転職の際にGeeklyを活用させて頂き、ご縁を頂くことができました。
Python関連記事
そのほか、Python関連の情報はこちらにまとめておりますのでご参考ください。
>Coffee Tech Blog Python関連記事
参考になれば幸いです☕
コメント