スポンサーリンク
指定した値がリストにあるか判定してindexを返す
下記のような形式で、リストの中に"awk"の文字列が存在するかどうかを判定します。
参考:Pythonでリスト(配列)を初期化する方法:入門編
list = ["awk", "find", "grep"] if "awk" in list: print("Yes") else: print("No")
そして、下記の形式でリストのindexを取得できます。
list.index(str)
組み合わせて、下記のように書けます。
str = "find" if str in list: print(list.index(str)) else: print("No")
if文と組み合わせた方がよい理由は、もしリストに指定した値が存在せずにindexを取得しようとした場合には、下記のようにErrorとなるからです。
if文で指定した値が存在する場合にのみ、indexを取得するようにすると、Errorを回避できます。
Traceback (most recent call last): File "./sample.py", line 13, in <module> print(list.index("sed")) ValueError: 'sed' is not in list
スポンサーリンク
サンプルコード
下記がサンプルコードになります。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 #リストの初期化 list = ["awk", "find", "grep"] if "awk" in list: print("Yes") else: print("No") #print(list.index("sed")) str = "find" if str in list: print(list.index(str)) else: print("No")
下記が実行結果になります。
$ ./sample.py Yes 1
スポンサーリンク