将列表中的元素相乘

时间:2017-06-20 06:54:48

标签: python list python-3.x

我应该将列表n中的每个元素乘以2,但由于某种原因,它会一直返回[6,5,7]。由于某种原因,它只乘以第一个元素,但我想让它乘以所有元素,然后返回列表。

n = [3, 5, 7]

def double_list(x):
    for i in range(0,len(x)):
        x[i] = x[i] * 2
        return x

print(double_list(n))

2 个答案:

答案 0 :(得分:1)

问题是你在第一次迭代后返回x。

您应该在循环结束后返回x,而不是获得请求的结果。

n = [3, 5, 7]

def double_list(x):
    for i in range(0,len(x)):
        x[i] = x[i] * 2
    return x

print (double_list(n))

有关return statemtent的详细信息,请参阅here

答案 1 :(得分:0)

你从循环内部返回。当第一个元素被更新时,它会立即返回而不更新其他元素。 你应该在for循环之外返回。

 def double_list(x):
    for i in range(len(x)):
        x[i]*=2
    return x

n=[24,20,48]
double_list(n)

它对我来说很好。试试吧 请注意您的原始列表n已更改。