0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pythonのlistの基本

Posted at

Pythonのlistとは?

Pythonのlistは、複数の値(要素)を順序付けて保持できるデータ型の一つです。リストは、角括弧[ ]で囲まれ、要素同士はカンマ(,)で区切って記述します。

numbers = [1, 2, 3, 4, 5]
fruits = ["apple", "banana", "cherry"]
mixed = [1, "two", 3.0, True]

上の例のように、listは数値、文字列、ブール値、さらには別のリストなど、異なる型の要素を同時に格納することができます。また、リストは**ミュータブル(変更可能)**なオブジェクトなので、後から要素を追加、削除、更新することが容易です。

リストの主な特徴

  1. 順序がある
    リストの要素は挿入した順序を保持し、インデックスでアクセスできます。numbers[0]1fruits[1]"banana"のように、0番目から順に参照します。

  2. 変更可能(Mutable)
    リストは作成後も、要素を追加したり、削除したり、値を変更したりできます。

  3. 任意のデータ型を格納可能
    整数、文字列、オブジェクト、他のリストなど、あらゆるPythonオブジェクトを要素として保持できます。

リストの基本操作

要素へのアクセス

numbers = [10, 20, 30, 40, 50]
print(numbers[0])  # 10を表示
print(numbers[4])  # 50を表示

インデックスは0から始まります。また、負のインデックスを使って、末尾からカウントすることも可能です。

print(numbers[-1]) # 最後の要素(50)
print(numbers[-2]) # 最後から2番目の要素(40)

要素のスライス

スライス記法を使うと、リストの一部を抜き出した新しいリストを作成できます。

numbers = [10, 20, 30, 40, 50, 60]
print(numbers[1:4])   # [20, 30, 40]
print(numbers[:3])    # [10, 20, 30] 先頭~インデックス2まで
print(numbers[3:])     # [40, 50, 60] インデックス3以降すべて
print(numbers[::2])    # [10, 30, 50] ステップ2で取り出し

要素の変更

リストはミュータブルなので、以下のように特定の要素を書き換えられます。

fruits = ["apple", "banana", "cherry"]
fruits[1] = "blueberry"
print(fruits)  # ["apple", "blueberry", "cherry"]

要素の追加・削除

  • 要素の追加append()メソッドを使えば、リストの末尾に要素を追加できます。また、insert()を使えば指定した位置に挿入することも可能です。
fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)  # ["apple", "banana", "cherry"]

fruits.insert(1, "orange")
print(fruits)  # ["apple", "orange", "banana", "cherry"]
  • 要素の削除remove()で指定した値を削除、pop()で指定したインデックスまたは末尾の要素を取り除きます。delキーワードを用いて要素やスライスを削除することもできます。
items = [1, 2, 3, 4, 5]
items.remove(3)       # 値"3"を削除
print(items)           # [1, 2, 4, 5]

popped = items.pop()   # 最後の要素を取り出す
print(popped)          # 5
print(items)           # [1, 2, 4]

del items[1]           # インデックス1の要素を削除
print(items)           # [1, 4]

リストの結合・拡張

  • +演算子を使えば、2つのリストを結合できます。
  • extend()メソッドを使えば、あるリストに別のリストの要素を追加できます。
a = [1, 2, 3]
b = [4, 5, 6]

c = a + b
print(c)   # [1, 2, 3, 4, 5, 6]

a.extend(b)
print(a)   # [1, 2, 3, 4, 5, 6]

ソート・並び替え

sort()メソッドでリストを昇順に並び替えることができます。また、組み込み関数sorted()を使えば、元のリストを変更せずに並び替えた新しいリストを取得可能です。

numbers = [5, 2, 9, 1, 7]
numbers.sort()
print(numbers)  # [1, 2, 5, 7, 9]

letters = ["b", "a", "d", "c"]
sorted_letters = sorted(letters)
print(sorted_letters) # ["a", "b", "c", "d"]
print(letters)        # ["b", "a", "d", "c"] 元のリストはそのまま

リスト内包表記

リストを生成・加工する際に便利な書き方が、リスト内包表記です。これは、ある条件や式を用いて簡潔に新しいリストを作成できる構文です。

numbers = [1, 2, 3, 4, 5]
squares = [x * x for x in numbers]
print(squares)  # [1, 4, 9, 16, 25]

even_squares = [x * x for x in numbers if x % 2 == 0]
print(even_squares)  # [4, 16]

まとめ

Pythonのlistは、順序付きでミュータブルなコレクション型として、非常に汎用的に使われます。

  • 異なる型の要素を一緒に扱える柔軟さ
  • 要素の追加・削除・更新が簡単
  • スライスや並び替え、内包表記など強力な操作が可能

これらの特徴を活用すれば、データを整理・加工したり、アルゴリズムを組み立てたりする際に大いに役立ちます。Pythonでプログラミングをする上で、list型の基本的な使い方や操作は必須の知識と言えるでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?