3-2 標準装備の関数を使ってみよう
先程説明したSUM関数はPythonに標準装備されています.他にも,これまで何度も使用しているprint( )も( )内を引数とした戻り値がない関数ですし,enumerate( )やint( ),str( )も同様です.Pythonに標準装備されているということは使用頻度が高いということであり,覚えておいて損はないということになります.ここでは主要ないくつかの関数をアルファベット順で紹介します.フルバージョンは
ここ
から確認できます.
len(list)
配列list内の要素数=配列長を返します.
配列list内の要素数=配列長を返します.
lenの使用例
>>> list = [1,5,7,6,45,86] >>> print(len(list)) 6
min(list)
list内の最小値を返します.
list内の最小値を返します.
pow(a,b)
aのb乗を返します.
aのb乗を返します.
range([start,]stop[,step])
[start..stop]に従った整数のリストオブジェクトを返します.
stepが入力された場合は等差数列になります。
なお、区間表現に..が使われた場合は整数区間a, a+1, a+2...を意味します。
注)[ ]で囲まれた引数[step]は必須ではありません。
[start..stop]に従った整数のリストオブジェクトを返します.
stepが入力された場合は等差数列になります。
なお、区間表現に..が使われた場合は整数区間a, a+1, a+2...を意味します。
注)[ ]で囲まれた引数[step]は必須ではありません。
rangeの使用例
- for i in range(5,10):
- print(i)
- for i in range(11):
- print(i)
- for i in range(0,11,2):
- print(i)
-
出力
5,6,7,8,9 0,1,2,3,4,5,6,7,8,9,10 0,2,4,6,8,10
zip(*iterables)
複数の繰り返し可能変数 iterablesをまとめる.
特にnumpy.nonzeroやnp.whereとの相性が抜群に良い.
注)iterablesは繰り返し文のfor i in AのAに相当する.
複数の繰り返し可能変数 iterablesをまとめる.
特にnumpy.nonzeroやnp.whereとの相性が抜群に良い.
注)iterablesは繰り返し文のfor i in AのAに相当する.
zipの使用例
- 1 A = [1,2,3]
- 2 B = [6,7,8]
- 3
- 4 for i,j in range zip(A,B): #やっていることはenumerateと同じ
- 5 print(i,j)
-
出力
1,6 2,7 3,8
list.index(variable)
listからvariableと一致する配列番号を取得する
listからvariableと一致する配列番号を取得する
indexの使用例
- 1 Nominal_dia = [100,150,200,250]
- 2 Diameters = [200,200,100,150]
- 3
- 4 for i in Diameters:
- 5 j = Nominal_dia.index(i)
- 6 print(j)
-
Nominal_dia:JISで規格されている管路口径(Nominal diameter)
出力
出力
2 2 0 1
list.append(x)
listにリストxを追加します.
append:付け加える、付加する、付け足す、添えるの英単語
listにリストxを追加します.
append:付け加える、付加する、付け足す、添えるの英単語
appendの使用例
- a = [ ] #空のlistを作成
- for i in range(0,10):
- b = i*3
- a.append(b) #リストaの末尾にbを追加
- print(“a = ”, a)
-
出力
[0,3,6,9,12,15,18,21,24,27]
類似のもととしてはlist.extendがあります.extendはリスト内の要素を分解してそれぞれを個別にリストへ追加しますが,appendはリストをそのまま対象のリスト内に追加します.
list.extend(x)
listにリストxにおける要素を末尾に追加します.
listにリストxにおける要素を末尾に追加します.
>>> a = [0,1,2,3] >>> b = [0,5,10,15] >>> a.extend(b) >>> a [0, 1, 2, 3, 0, 5, 10, 15] >>> a.append(b) >>> a [0,1,2,3, [0,5,10,15]]
また,appendやextend,indexは以下のようなオブジェクト化を行うことで,繰り返し計算におけるappend処理を高速化するテクニックがあります.
appendのオブジェクト化
- a = [ ] #空のlistを作成
- append_obj = a.append #appendのオブジェクト化
- for i in range(0,10):
- b = i*3
- append_obj (b) #繰り返しの度にリストaが呼び出されなくなる.
- print(“a = ”, a)
-
出力
a = [0,3,6,9,12,15,18,21,24,27]