web-dev-qa-db-ja.com

リスト内の位置?

リストに単語が存在するか確認します。この単語の位置を表示するにはどうすればよいですか?

14
kame
list = ["Word1", "Word2", "Word3"]
try:
   print list.index("Word1")
except ValueError:
   print "Word1 not in list."

このコードは0を出力します。これは、"Word1"の最初の発生のインデックスであるためです。

28
Gabi Purcaru

ifオブジェクトがリストにあることを確認するには、in演算子を使用します。

>>> words = ['a', 'list', 'of', 'words']
>>> 'of' in words
True
>>> 'eggs' in words
False

リストのindexメソッドを使用して、リスト内のwhereを見つけますが、例外を処理する準備をしてください。

>>> words.index('of')
2
>>> words.index('eggs')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'eggs' is not in list
3
Josh Lee

['hello', 'world'].index('world')を使用できます

2
Antoine Pelisse

次のコード:

sentence=["I","am","a","boy","i","am","a","girl"]
Word="am"
if Word in sentence:
    print( Word, " is in the sentence")
    for i, j in enumerate(sentence):
        if j == Word:
            print("'"+Word+"'","is in position",i+1)

この出力を生成します:

"am" is in position 1
"am" is in position 5

これは、pythonで、インデックス作成が0から始まるためです。

これが役に立てば幸い!

2
anthony joshua

単語が例えば「月曜日」と名付けられていると仮定します:

初期データベースとしてリストが必要になります:

myList = ["Monday", "Tuesday", "Monday", "Wednesday", "Thursday", "Friday"]

次に、for、next()、iter()、len()関数を使用して、リストを1つずつ最後までループする必要があります。

myIter = iter(myList)
for i in range(0, len(myList)):
next_item = next(myIter)

ここでループしている間に、必要なWordが存在するかどうかを確認し、それがどこにあっても印刷する必要があります。

if next_item == "Monday":
    print(i)

完全に:

myList = ["Monday", "Tuesday", "Monday", "Wednesday", "Thursday", "Friday"]
myIter = iter(myList)
for i in range(0, len(myList)):
    next_item = next(myIter)
    if next_item == "Monday":
        print(i)

このリストには月曜日が2つあるため、この例の結果は次のようになります。0 2

0
Feri

Indexofが必要なように聞こえます。 ここ から:

operator.indexOf(a、b)¶aでbが最初に出現する位置のインデックスを返します。

0
Doug T.