Open4

Pythonの知らんかったこと

kk

リスト型でインデックス番号を指定して参照するとき、
マイナスを指定して、リストの最後から参照できる

names = ['sazae', 'masao', 'ikura', 'konbu']

print(names[-1])
print(names[-2])
print(names[-3])
print(names[-4])

出力

konbu
ikura
masao
sazae

マイナスすぎると
list index out of range

kk

リスト型でインデックス番号を指定して参照するとき、
範囲指定できる

names = ['sazae', 'masao', 'ikura', 'konbu']

# index番号2から4つ目のアイテムまで
print(names[2:4])

# index番号0から3つ目のアイテムまで
print(names[0:3])

# 先頭の0は省略可
print(names[:2])

# index番号2から末尾まで
print(names[2:])

# 全部
print(names[:])

出力

['ikura', 'konbu']
['sazae', 'masao', 'ikura']
['sazae', 'masao']
['ikura', 'konbu']
['sazae', 'masao', 'ikura', 'konbu']

さらに、あまり使わなさそうな参照方法

names = ['sazae', 'masao', 'ikura', 'konbu']

# ひとつとばす
print(names[::2])

# ふたつとばす
print(names[::3])

# 後ろから
print(names[::-1])

# 後ろから and ひとつとばす
print(names[::-2])

出力

['sazae', 'ikura']
['sazae', 'konbu']
['konbu', 'ikura', 'masao', 'sazae']
['konbu', 'masao']
kk

リストへの追加(append)・削除(remove)

names = ['sazae', 'masao', 'ikura', 'konbu']

# リスト末尾に追加(これは常識)
names.append('wakame')
print(names)

# リストから削除(先頭から検索して初めに一致したものを削除)
names.remove('konbu')
print(names)

# リストにおなじ値が複数ある場合、先頭の一軒だけが削除される
names.append('wakame')
names.remove('wakame')
print(names)

出力

['sazae', 'masao', 'ikura', 'konbu', 'wakame']
['sazae', 'masao', 'ikura', 'wakame']
['sazae', 'masao', 'ikura', 'wakame']
kk

リストのインデックス番号を取得(index)

names = ['sazae', 'masao', 'ikura', 'konbu', 'sazae', 'masao', 'ikura', 'konbu']

# ikuraのインデックス番号を表示
print(names.index('ikura'))

# 開始位置(インデックス番号)を指定して、ikuraのインデックス番号を表示
print(names.index('ikura', 2))

# 開始位置(インデックス番号)を指定して、ikuraのインデックス番号を表示
print(names.index('ikura', 3))


出力

2
2
6