本ページは、アフィリエイト広告が含まれています。

テクノロジー

線形探索改良版 for~elseを使う

2013年3月15日

アルゴリズムを、はじめよう

前に書いた線形探索法(リニアサーチ)をfor~elseで改良してみました。

#!/usr/bin/env python
#-*- coding: utf-8 -*-

def linearSearch():
    array = [4, 2, 3, 5, 1]
    for i, e in enumerate(array):
        if e == 5:
            print "array[%d] is 5." % i
            break
    else:
        print "5 doesn't exist in the array."

if __name__ == '__main__':
    linearSearch()

elseってif文と組み合わせて使うのが普通だけど、何かの本でfor~elseという書き方ができると知ったので使ってみました。

for~elseと書くと、forループが全部終わった時に実行されます。ただし、breakするとelse以降は実行されません。

前回書いた線形探索法と比べて探している数字が見つかったかどうかを判断するansという変数が不要になり少しスッキリしました。

-テクノロジー
-

Copyright© シグマデザイン社長のブログ , 2024 All Rights Reserved.