リストについて

リストは以下のような書式で定義できる。

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

各要素にアクセスする場合、以下のようにしてアクセスできる(シーケンス型の各演算子が適用出来る)。

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> l[2]
3
>>> l[1:4]
[2, 3, 4]
>>> l[2:]
[3, 4, 5]
>>> 2 in l
True
>>> max(l)
5
>>> r = [6,7,8,9,10]
>>> l + r
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

各要素は変更可能。

1
2
3
>>> l[2] = 8
>>> l
 [1, 2, 8, 4, 5]

よく使うリストのメソッド

  • list.append(x)
    • リストの末尾に要素を一つ追加する。
1
2
3
4
>>> l = [1,2,2,3,3,3]
>>> l.append(4)
>>> l
[1, 2, 2, 3, 3, 3, 4]
  • list.extend(L)
    • 指定したリスト中のすべての要素を対象のリストに追加し、リストを拡張する。
1
2
3
4
>>> l = [1,2,2,3,3,3]
>>> l.extend(l)
>>> l
[1, 2, 2, 3, 3, 3, 1, 2, 2, 3, 3, 3]
  • list.insert(i, x)
    • 指定した位置に要素 x を挿入する。i は、リストのインデクス。そのインデクスを持つ要素の直前に挿入が行われる。
1
2
3
4
>>> l = [1,2,2,3,3,3]
>>> l.insert(3,4)
>>> l
[1, 2, 2, 4, 3, 3, 3]
  • list.remove(x)
    • リスト中で、値 x を持つ最初の要素を削除する。該当する項目がなければエラー。
1
2
3
4
>>> l = [1, 2, 2, 4, 3, 3, 3]
>>> l.remove(4)
>>> l
[1, 2, 2, 3, 3, 3]
  • list.pop([i])
    • リスト中の指定された位置にある要素をリストから削除して、その要素を返す。インデクスが指定されなければ、 a.pop() はリストの末尾の要素を削除して返す。この場合も要素は削除される。
1
2
3
4
5
>>> l = [1,2,2,3,3,3]
>>> l.pop()
3
>>> l
l = [1,2,2,3,3]
  • list.index(x)
    • リスト中で、値 x を持つ最初の要素のインデクスを返す。該当する項目がなければエラー。
1
2
3
>>> l = [1,2,2,3,3,3]
>>> l.index(3)
3
  • list.count(x)
    • リストでの x の出現回数を返す。
1
2
3
>>> l = [1,2,2,3,3,3]
>>> l.count(2)
2
  • list.sort()
    • リストの項目を、インプレース演算 (in place、元のデータを演算結果で置き換えるやりかた) でソートする。
1
2
3
4
>>> l = [2,4,3,5,1] 
>>> l.sort()
>>> print l
[1, 2, 3, 4, 5]
  • list.reverse()
    • リストの要素を、インプレース演算で逆順にする。
1
2
3
4
>>> l = [2,4,3,5,1]
>>> l.reverse()
>>> print l
[5, 4, 3, 2, 1]
  • list([iterable])
    • 他のシーケンス型をリストに変換する。
1
2
3
>>> string = "this is test!"
>>> list(string)
['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 't', 'e', 's', 't', '!']