web-dev-qa-db-fra.com

Position dans une liste?

Je vérifierai si un mot existe dans une liste. Comment puis-je montrer la position de ce mot?

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

Ce morceau de code imprimera 0, parce que c'est l'index de la première occurrence de "Word1"

26
Gabi Purcaru

Pour vérifier si un objet est dans une liste, utilisez l'opérateur in:

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

Utilisez la méthode index d'une liste pour trouverdans la liste, mais soyez prêt à gérer l'exception:

>>> 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

vous pouvez utiliser ['hello', 'world'].index('world') 

2
Antoine Pelisse

Le code suivant:

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)

produirait cette sortie:

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

En effet, en python, l'indexation commence à 0

J'espère que cela a aidé!

2
anthony joshua

En supposant que le mot soit nommé par exemple "lundi":

Vous aurez besoin d'une liste comme base de données initiale:

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

Ensuite, vous devez parcourir votre liste un à un jusqu'à la fin en utilisant les fonctions for, next (), iter () et len ​​():

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

Maintenant, en boucle, vous devez vérifier si le mot recherché existe et, le cas échéant, l’imprimer:

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

Tout à fait:

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)

Comme il y a deux lundis dans cette liste, le résultat de cet exemple sera: 0 2

0
Feri

On dirait que vous voulez indexof. De ici :

operator.indexOf (a, b) ¶ Renvoie l'index de la première occurrence de b dans a.

0
Doug T.