如果所述字符串等于给定输入,则在列表中查找字符串的位置

时间:2017-08-08 22:25:30

标签: python string list python-3.4

我已经编写了这段代码来找到我插入的单词的位置作为输入。

我插入了现有的单词,但我的代码没有找到他们的位置。它返回“未找到”。

data=["mama","mia","here","I","go","again"]

inputo= input("word?")

for item in data:
  if item is inputo:
    print (data.index(inputo))
else:
  print("not found")

1 个答案:

答案 0 :(得分:0)

您需要使用==代替is进行比较。 is实际上很少有用(除了与None等内置常量进行比较),因为它比较了它是否是同一个对象("引用")而{ {1}}检查"值相等"。因此==只应用于与singleton进行比较,或者您真正了解您正在做的事情

但是你可以在is周围使用tryexcept,它应该可以在没有任何手动迭代和比较的情况下使用:

data.index

至少只要列表中只有一个匹配项。如果可能有多个匹配项,您可以使用try: print(data.index(inputo)) except ValueError: print('not found')

enumerate