mathpython

Pythonのリストから要素のインデックスを取得する

Pythonのリストは、indexというメソッドで要素のインデックスを取得します。

a = [33, 66, 99]
b = a.index(33)
c = a.index(66)
d = a.index(99)

print(b)
print(c)
print(d)

# 0
# 1
# 2

インデックスは1、2、3ではなく0、1、2になっています。33は0番目、66は1番目、99は2番目です。

リストが含まない要素を指定するとエラーが返ります。

a = [33, 66, 99]
b = a.index(5)

print(b)

# ValueError: 5 is not in list

「5はリストに含まれない」というValueErrorというエラーが返っています。このエラーが出ると処理が止まってしまうので、indexを使うときは次のようにするべきでしょう。

a = [33, 66, 99]
m = 66
n = 5

if m in a:
    i = a.index(m)
    print(i)
else:
    print('66はない')

if n in a:
    i = a.index(n)
    print(i)
else:
    print('5はない')

# 1
# 5はない

indexを使う前に、調べたい要素がリストにあるかチェックして、存在するときにindexを使います。

リストのリスト

リストにリストがあるときも同じです。

a = [[33, 66, 99], ['apple', 'lemon', 'peach']]
m = 66
n = ['apple', 'lemon', 'peach']

i = a.index(m)
j = a.index(n)

print(i)
print(j)

# ValueError: 66 is not in list

66は子リストにありますが、リストそのものにはないのでindexを使うことはできません。

広告

教育総合サイト

高校化学専門サイト

色辞典

数の辞典