减少返回语句的数量(Python)
下面的函数返回与搜索项相等的第一个项的项列表中的索引。如果不存在此类项,则函数返回-1减少返回语句的数量(Python),python,return,return-value,Python,Return,Return Value,下面的函数返回与搜索项相等的第一个项的项列表中的索引。如果不存在此类项,则函数返回-1 使用while循环而不是for循环,并且不使用任何中断语句或列表的索引方法。如何减少下面的函数,使其只包含一个返回语句?限制为while循环,并且不使用任何break语句(这看起来很像一个家庭作业问题),最好创建第二个条件来控制循环的执行。例如: def my_索引(项目列表、搜索项目): i=0 完成=错误 return_value='-1'#我怀疑您的意思是这是一个int,而不是str 当i
使用while循环而不是for循环,并且不使用任何中断语句或列表的索引方法。如何减少下面的函数,使其只包含一个返回语句?限制为
while
循环,并且不使用任何break
语句(这看起来很像一个家庭作业问题),最好创建第二个条件来控制循环的执行。例如:
def my_索引(项目列表、搜索项目):
i=0
完成=错误
return_value='-1'#我怀疑您的意思是这是一个int,而不是str
当i
这是否被视为破坏
def my_index(list_of_items, search_item):
res = -1
i = 0
while i < len(list_of_items):
if list_of_items[i] == search_item:
res = i
i = len(list_of_items)
else:
i += 1
return res
def my_索引(项目列表、搜索项目):
res=-1
i=0
而i
定义我的索引(项目列表、搜索项目):
ret=-2
i=0
而i
为什么不能使用任何中断语句?这是一个非常武断的限制。“单一返回语句”是你被给予的限制,还是你认为是可取的?在其他限制条件下,我将使用两个返回语句。另外,“-1”
与-1
是非常不同的“-1”
是一个字符串-它表示一个减号和一个1字符,而-1
将是一个整数,表示0正下方的整数。您几乎肯定应该返回-1
,而不是“-1”
。这些限制已经给出。我已经设法用两个return语句编写了代码,但我就是不知道如何将它简化为一个return语句。在-1上有一个很好的观点(要意识到这一点)@user2357112supportsMonica@Ava通过reduce,您想要更短的代码吗?或者您可以多行,但只返回一条语句如果search\u item
显示在list\u of\u items
的索引0处,则该语句会中断。这样如何。
def my_index(list_of_items, search_item):
ret = -2
i = 0
while i < len(list_of_items):
if list_of_items[i] == search_item:
ret = i
elif i == (len(list_of_items) - 1):
ret = -1
if ret != -2:
return ret
i += 1
list_of_items = [3, 7, 2, 9, 11, 19]
print(my_index(list_of_items, 3))