Open4
Pythonの知らんかったこと

リスト型でインデックス番号を指定して参照するとき、
マイナスを指定して、リストの最後から参照できる
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

リスト型でインデックス番号を指定して参照するとき、
範囲指定できる
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']

リストへの追加(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']

リストのインデックス番号を取得(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