Python 入門

ホーム > Python のタイプとオブジェクト > リスト

リスト

スポンサーリンク

Python のリストの基本操作

リストは [] で要素を囲むことで記述します。

>>> L = [2,4,6,8,10]

リスト内の要素には、インデックスを使ってアクセス可能です。ゼロベースのインデックスです。

>>> L[1]
4

コロン : を使って、要素の範囲指定を行うことによって、元のリストのサブセットのリストを作成できます。

>>> L[1:3]
[4, 6]

+ 演算子によって、二つのリストを結合することができます。

>>> M = L + [1, 3, 5]
>>> M
[2, 4, 6, 8, 10, 1, 3, 5]

結合時にソートなどは自動的には行われません。リスト内の要素をソートするには、sort() 関数を呼びます。

>>> M.sort()
>>> M
[1, 2, 3, 4, 5, 6, 8, 10]

リストの末尾に要素を追加するには append 関数を、末尾から要素を取り出すには pop 関数を用います。 これらの関数によって、リストをスタックのように利用することが可能になります。

>>> M.append(100)
>>> M
[1, 2, 3, 4, 5, 6, 8, 10, 100]
>>> M.pop()
100
>>> M
[1, 2, 3, 4, 5, 6, 8, 10]

それから、リスト内の要素数を取得するには、len 関数を用います。

>>> len(M)
8

関数名だけ見ると len 関数とちょっと紛らわしいかもしれない、と思うのは count 関数でしょう。 こちらは引数で指定した値を持つ要素の数を返します。

>>> [1,1,1,2,3,4,4,5].count(1)
3
>>> [1,1,1,2,3,4,4,5].count(4)
2

>>> L = [ 1, 'Hello', 3.14 ]
>>> L[1]
'Hello'
>>> L[1][1]
'e'
>>> L.sort()
Traceback (most recent call last):
   File "", line 1, in <module>
TypeError: unorderable types: str() < int()
>>> N = [[1,2,3], 'Hello', {'name':'Keisuke Oyama','age':37}]
>>> N[0]
[1, 2, 3]
>>> N[1]
'Hello'
>>> N[2]
{'age': 37, 'name': 'Keisuke Oyama'}
>>> N[2]['name']
'Keisuke Oyama'

リストの内包表記 (Comprehensions)

Python ではリストの内包表記 (コンプリヘンション, Comprehensions) というのが使え、これによって簡単にあるリストから条件に適合するリストを作成できます。

具体例を示します。次のように 1 から 5 までの数字の要素を持つリスト L があったとします。

>>> L = [1,2,3,4,5]

このリスト L の 2 より大きな値を持つ要素のみからなるリストを作るには次のようにします。

>>> [x for x in L if x > 2]
[3, 4, 5]

また、上記の要素をそれぞれ 3 倍するなどの操作を加える場合は次のようにします。

>>> [3*x for x in L if x > 2]
[9, 12, 15]

こうした操作は文字列の配列にも実施できます。次の例では、リスト中の要素それぞれの文字列を、大文字にしています。

>>> L = ['hello','world']
>>> [x.upper() for x in L]
['HELLO', 'WORLD']
スポンサーリンク
ホーム > Python のタイプとオブジェクト > リスト