Pythonでリストの特定の値の両隣の値を取得する関数
リストの特定の値の両隣の値を取得したいときがあったのでメモ。
def get_neighbor(target, lis):
try:
target_index = lis.index(target)
before_value = lis[target_index-1] if target_index > 0 else False
after_value = lis[target_index+1]
except IndexError:
after_value = False
except ValueError:
before_value = False
after_value = False
return before_value, after_value
引数に特定の値とそのリストを渡す。
特定の値のインデックスが0の場合、リストの一番最後の値を指定してしまうのでif文でFalseを入れる。
特定の値がリストの最後の場合、IndexErrorでFalseを入れる。
多分もっといい書き方があると思うけど自分しか使わないしこれでいい。