step 4 メソッド

len

メソッドの前に、lenを紹介します。配列がいくつあるか、調べてくれます。文字の場合は、文字数です。

len(x) のように使います。

a=[10,100,200]
print len(a)

3

要素(リストの中身)は、3つあるので、3がでました。

a="abcde"
print len(a)

5

5文字なので、5とでました。

日本語(全角)は、1文字を2文字分と数えます。

a="月のたまご"
print len(a)

10

では、\nはどうでしょう。

a="月のたまご\n"
print len(a)

11

1文字のようです。

配列がいくつあるのか、不定のときとかは、重宝しそうですね。最後の項目を調べたいときは、a[len(x)]ではないです。lenは、いくつあるかです、添字は0から始まっているので、最後は、a[len(x)-1]になります。

a=[2,5,12,25,36,49]
print len(a)
print a[len(a)-1]

6
49

おさらい

メソッドは、オブジェクト.メソッドというふうに使います。オブジェクトは変数とか式とかです。

前回でたのが次の3つでした。

delとlenを組みあわせてみます。

a=[2,5,12,25,36,49]
print a
del a[len(a)-1]
print a

[2, 5, 12, 25, 36, 49]
[2, 5, 12, 25, 36]

次はinsertを使ってみましょう。

a=[2,5,12,25,36,49]
print a
a.insert(len(a),58)
print a

[2, 5, 12, 25, 36, 49]
[2, 5, 12, 25, 36, 49, 58]

これは、append(x)と同じですね。

a=[2,5,12,25,36,49]
print a
a.append(58)
print a

[2, 5, 12, 25, 36, 49]
[2, 5, 12, 25, 36, 49, 58]

reverse

a.reverse() のように使います。順番を反対にします。

a=[2,5,12,25,36,49]
print a
a.reverse()
print a

[2, 5, 12, 25, 36, 49]
[49, 36, 25, 12, 5, 2]

sort()

sort() は、ソートします。順番に並び替えてくれます。

a=[90,50,10,20,40,5]
print a
a.sort()
print a

[90, 50, 10, 20, 40, 5]
[5, 10, 20, 40, 50, 90]

小さいもの順になりました。文字もやってみましょう。

a=["orange","apple","grape","cherry"]
print a
a.sort()
print a

['orange', 'apple', 'grape', 'cherry']
['apple', 'cherry', 'grape', 'orange']

abc順になりました。大文字も混ぜてみましょう。

a=["orange","apple","GRAPE","grape","APPLE"]
print a
a.sort()
print a

['orange', 'apple', 'GRAPE', 'grape', 'APPLE']
['APPLE', 'GRAPE', 'apple', 'grape', 'orange']

大文字が先にきましたね。

count

a.count(x) のように使います。xがいくつaの中に入っているか、調べます。

a=[5,10,7,3,7,14,3,2,3] print a.count(7)

2

7は、2つあるので、2がでました。

remove

a.remove(x) のように使います。aの中にある初めのxを取り除きます。

a=[5,10,7,3,7,14,3,2,3]
a.remove(7)
print a

[5, 10, 3, 7, 14, 3, 2, 3]

はじめの7が取り除かれました。

index

a.index(x) のように使います。aの中で、最初にでてくるxの添字を調べます。

a=[5,10,7,3,7,14,3,2,3]
print a.index(7)

2

初めの7は、2なので(a[2]ですね)、2がでました。

入ってないのを調べようとすると、エラーになります。

a=[5,10,7,3,7,14,3,2,3]
print a.index(9)

ちょっと、応用です。

a=[5,10,7,3,7,14,3,2,3]
b=a.index(7)
a[b]="seven"
print a

[5, 10, 'seven', 3, 7, 14, 3, 2, 3]

はじめの7を、sevenに置換えました。

今日はいろいろ覚えましたね。では、次は制御命令です。



管理人:人泣礼(hitonaki@starword.org)