【Python】listの使い方

Python
※本ページにはプロモーションが含まれます
※本ページにはプロモーションが含まれます
スポンサーリンク

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のスライシング

  1. スライスの基本

スライスは、リスト内の連続した要素の部分集合を取得する方法です。
スライスの基本構文は次のようになります。

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)  # リスト内の最小値を取得

 

プログラムの環境構築からわからない、、」「データサイエンティストになるには?」など自己学習に不安がありましたら、以下のスクールのご活用をご検討ください!

techgymTech Academyスタアカ
定額制・自習型のプログラミングスクールです。サンプルコードの仕様変更の繰り返し、その中で出現するエラーを解決することで、自己解決力、自走力を育みます。現役エンジニアから学べるオンラインに特化したプログラミングスクールです。転職の支援はもちろん、副業に活かせるスキルの習得から、副業の仕事紹介まで寄り添います。データサイエンティストを目指すことに特化したスクールです。
★コース例
・Python基礎コース
・AIエンジニア養成コース
 など
コース例
・Pythonコース

・AIコース
・データサイエンスコース
★コース例
・データサイエンティスト概要コース
・Python基礎コース
・データ加工集計可視化コース
・統計学概要コース
・SQL基礎コース
 など

Pythonのリスト内包表記(List Comprehension)

リストを効率的に生成するためのコンパクトで強力な方法です。

リスト内包表記を使用すると、ループや条件文を使わずに新しいリストを生成できます。リスト内包表記の基本的な構文と使用法について説明します。

基本的な構文:

new_list = [expression for item in iterable if condition]
  • expression: 各要素に適用される式。新しいリストの要素がこの式の結果となります。
  • item: イテラブル(リスト、タプル、範囲など)内の要素を表す変数。
  • iterable: リスト内包表記で反復処理する対象のイテラブルオブジェクト。
  • condition (オプション): 条件式。要素が新しいリストに含まれる条件を指定します。

:

  1. リスト内の各要素を2倍にした新しいリストを作成する例
numbers = [1, 2, 3, 4, 5]
doubled_numbers = [x * 2 for x in numbers]
# doubled_numbersは[2, 4, 6, 8, 10]となる
  1. 条件に合致する要素だけを新しいリストに含める例
numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
# even_numbersは[2, 4]となる
  1. 文字列リストから文字列の長さが3以下の要素だけを新しいリストに含める例
words = ["apple", "banana", "cat", "dog", "elephant"]
short_words = [word for word in words if len(word) <= 3]
# short_wordsは["cat", "dog"]となる
  1. リスト内包表記をネストして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を活用させて頂き、ご縁を頂くことができました。

Geekly転職ドラフト
IT・WEB・ソーシャルゲーム業界を専門とした転職支援サービスです。ギークリー独占の求人案件も扱っており、大手サービスに劣らないサービス力を誇ります。転職ドラフトは年収UP率94.3% / 平均年収UP額148.4万円と圧倒的な年収UP率を誇るイベント型のエンジニア向け転職サービスです。毎月1回開催され、IT/Web系企業を中心に、厳選された約240社からダイレクトスカウトを受け取ることができます。

Python関連記事

そのほか、Python関連の情報はこちらにまとめておりますのでご参考ください。
>Coffee Tech Blog Python関連記事

参考になれば幸いです☕

コメント

タイトルとURLをコピーしました