2024-04-27 08:05:08 发布
网友
我写这段代码是为了找到作为输入插入的单词的位置。你知道吗
我插入了现有的单词,但是我的代码没有找到它们的位置。它返回“notfound”。你知道吗
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")
您需要使用==而不是is进行比较。is实际上很少有用(除了与None这样的内置常量进行比较),因为它比较的是同一个对象(“引用”),而==检查“值相等”。所以is只能用来和singleton比较,否则你就知道自己在做什么了。你知道吗
==
is
None
但是,您可以在data.index周围使用try和except,它应该可以在没有任何手动迭代和比较的情况下工作:
data.index
try
except
try: print(data.index(inputo)) except ValueError: print('not found')
至少只要列表中只有一个匹配项。如果可能有多个匹配项,您可以使用enumerate:
enumerate
for idx, item in enumerate(data): if item == inputo: print(idx) else: print("not found")
您需要使用
==
而不是is
进行比较。is
实际上很少有用(除了与None
这样的内置常量进行比较),因为它比较的是同一个对象(“引用”),而==
检查“值相等”。所以is
只能用来和singleton比较,否则你就知道自己在做什么了。你知道吗但是,您可以在
data.index
周围使用try
和except
,它应该可以在没有任何手动迭代和比较的情况下工作:至少只要列表中只有一个匹配项。如果可能有多个匹配项,您可以使用
enumerate
:相关问题 更多 >
编程相关推荐