スポンサーリンク

指定した値がリストにあるか判定して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

スポンサーリンク