减少返回语句的数量(Python)

减少返回语句的数量(Python),python,return,return-value,Python,Return,Return Value,下面的函数返回与搜索项相等的第一个项的项列表中的索引。如果不存在此类项,则函数返回-1 使用while循环而不是for循环,并且不使用任何中断语句或列表的索引方法。如何减少下面的函数,使其只包含一个返回语句?限制为while循环,并且不使用任何break语句(这看起来很像一个家庭作业问题),最好创建第二个条件来控制循环的执行。例如: def my_索引(项目列表、搜索项目): i=0 完成=错误 return_value='-1'#我怀疑您的意思是这是一个int,而不是str 当i

下面的函数返回与搜索项相等的第一个项的项列表中的索引。如果不存在此类项,则函数返回-1


使用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))