在python列表中返回多个数字

时间:2014-12-29 04:15:10

标签: python list for-loop

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脚本只返回列表中的第一个项目而不是全部三个项目运行时...有人可以帮助我吗?!

5 个答案:

答案 0 :(得分:5)

改为使用 list comprehension

double_list = [ x*2 for x in n ]

结果相同,缩短了四倍,可读性提高了一倍。

<强> Because readability counts

答案 1 :(得分:3)

  1. 更改return语句,使其不缩进为for块的一部分。

  2. 返回列表而不是列表中的项目。

    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)

试试这个。查看列表,还要检查我们如何使用算术运算重新定义变量。