大家好我有一个在for循环结束时创建的列表。最后一行是
newlist.append(variable)
我运行循环并返回一个值,但它在下一个循环中被覆盖。因此,我想要做的是将newlist返回到newlist2,这样当我遍历循环时,我可以将所有列表放入newlist2,以便返回所有值。
例如,在第一个循环结束时,列表是
newlist = ['name', 20, 50, 70]
我想将其附加到
newlist2 = [['name', 20, 50, 70]]
然后第二次通过我
newlist = ['name', 50, 70, 90]
我希望将它附加到newlist2,以便
newlist2 = [['name', 20, 50, 70], ['name', 50, 70, 90]]
这可能吗?我这样做错了还是需要使用extend呢?
编辑:这是已经在帮助下构建的代码。
newlist=[]
for each in StationList:
if calculateDistance(Eastingbase, Northingbase, each[1], each[2])< radius:
Relevantfilename = each[0]
print Relevantfilename
with open(Relevantfilename, 'rU') as input:
dL= list(csv.reader(input))
total2 = sum(int(i[2]) for i in dL if '2011' in i)
print total2, "is average for", each[0]
try:
average = total2 / float(len([int(i[2]) for i in dL if '2011' in i]))
print average,"is average for", each[0]
except ZeroDivisionError:
print 0
each.append(average)
print each
newlist.append(each)
答案 0 :(得分:1)
我想你想做这样的事情:
>>> def list_of_list():
... all_lists = []
... for _ in range(3):
... all_lists.append([1, 2])
... return all_lists
...
>>>
>>> list_of_list()
[[1, 2], [1, 2], [1, 2]]
我每次都只是附加[1, 2]
用于演示目的。您可以在那里添加任何列表。
答案 1 :(得分:0)
正如Rohit Jain建议在for循环之外添加一个新列表并追加。
我有点想要追加到for循环中的新列表。因此,每次循环运行时,在每个列表中计算和生成的值都被添加到循环中,但是由于列表没有放在列表之外,所以它被覆盖。因此,要从for循环中的列表返回一个列表,您只需将新列表放在前面并附加到该列表。
答案现在在我的代码中更新,现在可以使用。