listオブジェクト


listオブジェクトはC++のStandard Template Libraryでいうlistよりはvectorに近いものです。C言語の配列を置き換えるとしたらlistオブジェクトが最もふさわしいですが、Cの配列よりもlistオブジェクトのほうが柔軟性があって強力です。

 

 listオブジェクトの作成

listオブジェクトは[ ]で表します。

>>> list1 = ['a', 'aa', 'ab', 'bb']
>>> print list1
['a', 'aa', 'ab', 'bb']
>>>

listオブジェクトはstringやtupleオブジェクトからもビルトイン関数list()を使って簡単に変換できます。

 

 メンバのアクセス

リストのメンバをアクセスするには[ ]を使って行います。

>>> list1 = ['a', 'aa', 'ab', 'bb']
>>> print list1
['a', 'aa', 'ab', 'bb']
>>> print list1[0]
a

[ ]の中でコロンを使って範囲を指定することもできます。

>>> print list1[1:4]
['aa', 'ab', 'bb']

メンバを削除するにはdel文を使います。

>>> del list1[0]
>>> print list1
['aa', 'ab', 'bb']

リストの長さはlen()ビルトイン関数で取得できます。

n = len(list1)

 listオブジェクトの主なメソッド

listオブジェクトはメソッドによっていろいろな操作ができます。次にサンプルを示します。

# list
print "List test"
list1 = [1,2,3,4,5,6,7,8,9,0]
print list1
print len(list1)
list1[0] = -1
list1.insert(1, 0)
print list1
list1.remove(5)
print list1
print list1.pop()
print list1
del list1[3]
print list1 

実行結果

List test
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
10
[-1, 0, 2, 3, 4, 5, 6, 7, 8, 9, 0]
[-1, 0, 2, 3, 4, 6, 7, 8, 9, 0]
0
[-1, 0, 2, 3, 4, 6, 7, 8, 9]
[-1, 0, 2, 4, 6, 7, 8, 9]