n = [3, 5, 7]
def double_list(x):
for i in range(0, len(x)):
x[i] = x[i] * 2
return x[i]
print double_list(n)
由于某种原因,这个python脚本只返回列表中的第一个项目而不是全部三个项目运行时...有人可以帮助我吗?!
答案 0 :(得分:5)
改为使用 list comprehension 。
double_list = [ x*2 for x in n ]
结果相同,缩短了四倍,可读性提高了一倍。
<强> Because readability counts 强>
答案 1 :(得分:3)
更改return
语句,使其不缩进为for
块的一部分。
返回列表而不是列表中的项目。
def double_list(x):
for i in range(0, len(x)):
x[i] = x[i] * 2
return x
答案 2 :(得分:1)
n = [3, 5, 7]
def double_list(x):
t=[i*2 for i in x]
return t
print (double_list(n))
另一个简短的方法。
答案 3 :(得分:0)
添加到选项中:
def double_list(x):
return map(lambda num: num*2, x)
print double_list([2, 3, 4])
答案 4 :(得分:-4)
n = [3, 5, 7]
def double_list(x):
for i in range(0, len(x)):
x[i]*=2
return x
print double_list(n)
试试这个。查看列表,还要检查我们如何使用算术运算重新定义变量。