【发布时间】:2016-10-20 00:58:18
【问题描述】:
我试图在不使用“in”方法的情况下在列表中查找项目。我尝试使用循环来做到这一点。代码成功执行,但给出了两者的集体结果(找到的项目以及未找到的项目)。我尝试使用 break 语句修复它。它以某种方式起作用。但仍然没有得到预期的结果。
python3.2写的代码是:-
list=[]
item=""
while item!='DONE':
item=input("Enter the number, To discontinue enter 'DONE': ")
if item.isdigit():
item=int(item)
list.append(item)
else:
list.append(item)
del list[-1]
print("The list is: ",list)
num=int(input("Enter the number you want to search in list: "))
def search(list,num):
for i in range(len(list)):
if list[i]==num:
print("Item found")
break
else:
print("Not found")
return
search(list,num)
请建议我如何修改它以搜索“整数”和“字符串”类型的元素。我的代码适用于整数类型元素。
【问题讨论】:
-
你为什么不想使用
in? -
我正在尝试寻找替代选项,因为这是我在 python 中的学习阶段。
-
list.index(element)将返回它在列表中找到的第一个元素的索引,否则引发ValueError。是你要找的吗? -
不,实际上我正在尝试检查一个元素是否存在于列表中?
-
既然开始了,我建议你不要使用
list作为变量名,因为内置函数list会被屏蔽,这可能是一个危险的习惯。此外,当您提出问题时,您应该始终尝试发布预期结果以及您得到的结果,尤其是当您遇到错误时。
标签: python list python-3.x search