Skip to main content
 首页 » 编程设计

python之在函数中返回列表

2025年05月04日15傻小

我意识到函数中的 return 中断,因此我需要找到一种替代方法来返回修改后的列表。

def multiply(lst): 
    new = '' 
    for i in range(len(lst)): 
        var = lst[i] * 3 
        new = new + str(var) 
    return new 
list1 = [1,2,3] 
received = multiply(list1) 
print [received] 

我正在尝试将所有元素乘以 3 并返回(我必须使用返回)。这只会带来返回

['369']

我要返回的列表是

[3,6,9]

请您参考如下方法:

试试这个:

def multiply(lst): 
    return [val*3 for val in lst] 
 
list1 = [1,2,3] 
received = multiply(list1) 
print received 

如果您想要就地编辑,您可以执行以下操作:

def multiply(lst): 
    for idx,val in enumerate(lst): 
        lst[idx] = val*3 
    return lst 

您的代码中的问题是您正在合并字符串“3”、“6”和“9”并返回一个包含字符串(“369”)的变量,而不是将此字符串放入列表中。这就是为什么您使用 ['369'] 而不是 [3,6,9] 的原因。请在下面找到带有注释的代码:

def multiply(lst): 
    new = '' # new string 
    for i in range(len(lst)): # for index in range of list size 
        var = lst[i] * 3 # get value from list and mupltiply by 3 and then assign to varible 
        new = new + str(var) # append to string new string representation of value calculated in previous row 
    return new #return string  

在任何情况下,通过使用变量打印都是调试代码的好方法 - 尽管如果您在代码中放置打印,您就会明白那里发生了什么