试试这个:
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
在任何情况下都是通过使用变量来调试代码的好方法——尽管如果你在代码中放置打印,你就会明白那里发生了什么