6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonで逐次探索

Last updated at Posted at 2014-07-20

逐次探索

逐次探索とは、先頭から順に探したいものを探して、見つかれば終了するやつです。

関数定義の練習も兼ねています。

# coding: UTF-8

def giiko_search(TargetValue, List): #(検索値, 探索対象)
    #第2引数がlist型であることの確認
    if isinstance(List, list) == False: 
        print '引数はリストじゃないぞ'
        return 0
    
    #Listが空ではないことの確認
    if len(List) == 0:
        print '空のリストだぞ'
        return 1

    #探す
    for i in range(len(List)):
        if List[i] == TargetValue:
            print str(i+1) + '番目で' + str(TargetValue) + 'かくにん!よかった'
            return 2

    print '見つからなかったぞ'
    return 3

List = ['Fred', 'Alex', 'Diana', 'Byron', 'Carol']
giiko_search('Diana', List)

実行結果

in演算子

答え合わせのWikipediaではもっと簡単なものが紹介されていました。

def search(list, x):
    return x in list

ポイントはin演算子で、これは左側xが右側listの中に含まれる場合True、ない場合Falseを返すらしいです。
つまり、search(list, x)は「ある」か「ない」かの2値を返してくれる関数だということです。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?