Skip to main content
 首页 » 编程设计

python之将列表中的每个元素乘以 2

2025年05月04日17linjiqin

问题是编写一个名为 double_it() 的函数应该遍历列表并将原始列表中的每个数字元素乘以 2,然后返回表示被加倍的元素数的整数。

这就是我所拥有的......输出只是重复列表 2 次而不是乘以值。

def main(): 
    original_list = [input("Enter a list of numbers: ")] 
    double_it(original_list) 
 
def double_it(new_list): 
    for index in range(len(new_list)): 
        new_list[index] *= 2 
        print new_list 
 
main() 

请您参考如下方法:

您的问题看起来像是处理输入的错误。 raw_input 函数通常应优先于输入。

我会推迟这个 Stack Overflow 问题: https://stackoverflow.com/questions/4663306/how-can-i-get-a-list-as-input-from-the-user-in-python

至于加倍部分,有几种方法可能值得了解,以充分探索 python。

迭代

>>> originalList = [1, 2, 3, 4, 5] 
>>> newList = [] 
>>> for item in originalList: 
...     newList.append(item*2) 
...  
>>> print(newList) 
[2, 4, 6, 8, 10] 

列表理解

>>> originalList = [1, 2, 3, 4, 5] 
>>> newList = [item*2 for item in originalList] 
>>> print(newList) 
[2, 4, 6, 8, 10] 

map

>>> def double(x): return 2*x 
...  
>>> originalList = [1, 2, 3, 4, 5] 
>>> newList = list(map(double, originalList)) 
>>> print(newList) 
[2, 4, 6, 8, 10] 

围绕这些东西的 python 文档都非常好,并且是极好的学习资源。