在Python中使用列表上的操作并在新列表中聚合结果

时间:2015-04-14 18:17:51

标签: python loops

我有一个数字列表,所有这些都需要用相同的数字来划分。我可以做到这一点,没问题,但是如何创建一个包含这些新商的新列表?

我试过了:

for n in numbers:
    newnumbers = []
    newnumbers.append(n/649.00)

但它只给我一个数字,即列表中最后一个数字的商,返回。

2 个答案:

答案 0 :(得分:3)

您也可以使用列表推导(参见https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions):

,而不是循环
newnumbers = [n/649.00 for n in numbers]

答案 1 :(得分:1)

它正在按字面意思执行你的代码。

for each element in numbers:
   set newnumbers equal to an empty list
   add a value to newnumbers

所以是的,当然你最终会得到一个只包含一个值的列表。你想要做的是将列表初始化移出循环。

newnumbers = []
for n in numbers:    
    newnumbers.append(n/649.00)