Python チュートリアル-データ型リスト

  1. Python リストを作成する
  2. Python リスト要素にアクセスする
  3. Python リストに要素を追加する
  4. Python リストから要素を削除する
  5. Python リストメソッド
  6. Python リストメンバーシップチェック
  7. リスト要素の反復

このセクションでは、Python プログラミングでリストを作成および更新する方法を学習します。さらに、Python でリストをスライスする方法を学びます。

Python リストを作成する

リストは、角括弧 [] を使用して作成できます。リストの要素は角括弧内に配置され、コンマ . で区切られます。リストの要素は異なるデータ型を持つことができます。

l = []		# empty list
l = [2, 4, 6, 8]		# elements of same data type
l = [2, 'Python', 1+2j]		# elements of different data type

ネストされたリスト、つまり別のリスト内のリストを作成することもできます。

l = [[2,4,5], 'python']

Python リスト要素にアクセスする

以下は、リスト要素にアクセスする方法の一部です。

リストインデックス

インデックスを使用して、リストの要素にアクセスできます。リストのインデックスは 0 から始まります。

>>> x = [2, 4, 6, 8, 10]
>>> print('x[0] =', x[0])			# display the first element
x[0] = 2
>>> print('x[0:2] =', x[0:2])		# display the first two elements of list that is at location 0 and 1
x[0:2] = [2, 4]
>>> print('x[2:] =', x[2:])			# display elements from location 2 (third element)
x[2:] = [6, 8, 10]

list は変更可能であるため、リスト要素は変更(更新、削除、追加)できます。インデックスがリストのインデックス範囲外にある場合、IndexError が発生します。

警告

インデックスは整数でなければなりません。そうしないと、TypeError が発生します。

Python リストネガティブインデックス

リスト内の要素にアクセスするには、負のインデックスを使用できます。たとえば、インデックス -1 は最後の要素を参照します。同様に、インデックス -2 は最後から 2 番目の要素を指します。

>>> l = [2, 4, 6, 8, 10]
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6

Python でリストをスライスする

スライス演算子 は、リストから要素の範囲を抽出するために使用されます。

>>> l = [2, 4, 6, 8, 10]
>>> print(l[1:3])		# print from location 1 to 3
[4, 6]
>>> print(l[:2])		# print from beginning to location 2
[2, 4]
>>> print(l[2:])		# print elements from location 2 onwards
[6, 8, 10]
>>> print(l[:])			# print the entire list
[2, 4, 6, 8, 10]

Python リストに要素を追加する

apend()

リストメソッド append() を使用して、リストの最後にアイテムを追加できます。

>>> l = [1, 3, 5, 7, 9, 11]
>>> l.append(13)
>>> print(l)
[1, 3, 5, 7, 9, 11, 13]

extend()

append(x) はアイテム x を 1つのアイテムとしてリストに追加します。extend(x) メソッドは、指定されたオブジェクト x のすべてのアイテムを追加することでリストを拡張する正しいメソッドです。

>>> l = [1, 3, 5, 7, 9, 11]
>>> l.extend([13, 14, 15])
>>> print(l)
[1, 3, 5, 7, 9, 11, 13, 14, 15]

 +演算子

extend() メソッドに加えて、+演算子を使用して 2つのリストを連結できます。

>>> l = [2, 4, 6, 8, 10]
>>> print(l + [12, 14, 16])
[2, 4, 6, 8, 10, 12, 14, 16]

insert(i, x)

insert(i, x) メソッドを使用して、指定されたインデックス i に要素 x を挿入できます。

>>> l = [2, 4, 6, 8, 10]
>>> l.insert(2, 0)
>>> print(l)
[2, 4, 0, 6, 8, 10]

Python リストから要素を削除する

del ステートメントはリストから 1つ以上のアイテムを削除します。del を使用してリスト全体を削除することもできます。

>>> l = [2, 4, 6, 8, 10]
>>> del l[4]
>>> print(l)
[2, 4, 6, 8]
>>> del l[0:2]
>>> print(l)
[6, 8]
>>> del l
>>> print(l)
Traceback (most recent call last):
    print(l)
NameError: name 'l' is not defined

リストが del l によって削除された後、このリスト l を参照するとエラーになります。

リストをクリアしたい場合は、clear() メソッドを使用することもできます。

Python リストメソッド

次の表に、Python リストメソッドを示します。

 方法  説明
 append()  リストの最後にアイテムを追加します
 extend()  リストに複数のアイテムを追加します。リストの要素を別のリスト(要素を追加するリスト)に追加することで機能します。
 insert()  目的の場所に要素を追加します。
 remove()  リストから特定のアイテムを削除します。
 pop()  特定の場所からアイテムを削除し、そのアイテムを返します。
 clear()  リストからすべての要素を削除します。
 index()  リスト内で最初に一致した要素のインデックスを返します。
 count()  渡されたアイテムの総数を返します
 sort()  リストの要素を昇順でソートします。
 reverse()  リストの要素の順序を逆にします。
 copy()  既存のリストのコピーを返します。

Python リストメンバーシップチェック

in キーワードは、要素がリストのメンバーであるかどうかをチェックします。

>>> l = [2, 4, 6, 8, 10]
>>> print(5 in l)
False
>>> print(2 in l)
True

リスト要素の反復

for ループを使用してリストを反復処理できます。

l = [2, 4, 6, 8, 10]
for i in l:
    print(i)
2
4
6
8
10

リストに適用可能な組み込み関数

次の表は、リストでさまざまなタスクを実行するために使用できる組み込み関数のコレクションです。

 関数  説明
 all()  リストのすべての要素が True の場合、True を返します。リストが空の場合も、True を返します。
 any()  リストの要素のいずれかが True の場合、True を返します。リストが空の場合、False を返します。
 enumerate()  リストのすべての要素のインデックスと値をタプルとして返します。enumerate オブジェクトを返します。
 len()  リスト内のアイテムの数またはリストの長さを返します。
 list()  シーケンス(タプル、セット、文字列、辞書)をリストに変換します。
 max()  リスト内の最大数を返します。
 min()  リスト内の最小数を返します。
 sorted()  ソートされたリストを返します。
 sum()  リストのすべての要素の合計を返します。
comments powered by Disqus