home changes contents help options

083:配列を作成する

配列にはリストとタプルの二種類があります。リストは値を変更できるが、タプルはできません。 タプルとリストは相互に変換できます。

 >>> a=[1,2,3] #四角括弧がリスト
 >>> b=(1,2,3) #丸括弧がタプル

相互に変換できます。

 >>> list(b)
 [1, 2, 3]
 >>> tuple(a)
 (1, 2, 3)

# タプルの値を変更しようとするとエラーになります。

 >>> fruit=('banana','passion fruit')
 >>> fruit[0]
 'banana'
 >>> fruit[0]='orange' 
 Traceback (most recent call last):
   File "<stdin>", line 1, in ?
 TypeError: object does not support item assignment

内容を列挙する方法

>>> freshfruit = [banana, loganberry, 'passion fruit']
>>> freshfruit
[banana, loganberry, 'passion fruit']

内包表現を使って作る。

>>> list=[i for i in range(10)]
>>> list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
これは次と同じこと。
>>> list=[]
>>> for i in range(10):
        list.append(i)
>>> list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> list=[0]*10 >>> list [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] >>> list=range(10) >>> list [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(-10,0) [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1] >>> range(1,5) [1, 2, 3, 4]

ファイルから読み込んで作る(空白、タブ区切り)

>>> f = open(C:/Documents and Settings/Administrator/My Documents/inputspace.txt,r)
>>> line=f.readline()
>>> line
1 apple 100\n
>>> line.rstrip()
1 apple 100
>>> line.rstrip().split()
[1, apple, '100']

多次元配列の操作方法

http://ymasuda.jp/python/numarray/numarray/module-numarray.html