Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从for循环将列表返回到另一个列表_Python_List_For Loop_Append_Extend - Fatal编程技术网

Python 从for循环将列表返回到另一个列表

Python 从for循环将列表返回到另一个列表,python,list,for-loop,append,extend,Python,List,For Loop,Append,Extend,嗨,我有一个在for循环末尾创建的列表。最后一行是 newlist.append(variable) 我运行循环,它返回一个值,但在下一个循环中它被覆盖。因此,我想做的是将newlist返回到newlist2,这样当我遍历循环时,我可以将所有列表都返回到newlist2中,这样所有值都会返回 例如,在第一个循环的末尾,列表是 newlist = ['name', 20, 50, 70] 我想把它附加到 newlist2 = [['name', 20, 50, 70]] 然后第二次通过时我

嗨,我有一个在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)
newlist=[]
对于StationList中的每个:
如果计算距离(东向基地、北向基地、每个[1],每个[2])<半径:
Relevantfilename=每个[0]
打印相关文件名
以open(Relevantfilename,'rU')作为输入:
dL=列表(csv.reader(输入))
total2=总和(如果i中的“2011”,则dL中i的int(i[2]))
打印总数2,“为平均值”,每个[0]
尝试:
平均值=总2/浮点数(len([int(i[2]),如果i中的'2011',则dL中的i为[int(i[2]))
打印平均值,“是平均值”,每个[0]
除零误差外:
打印0
每个。追加(平均)
打印每个
newlist.append(每个)

我想你应该这样做:

>>> 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]
。您可以在那里添加任何列表。

正如Rohit Jain建议的那样,在for循环和append之外添加一个新列表

我最初尝试的是在for循环中添加到一个新列表。因此,每次循环运行时,每个列表中计算和生成的值都会被添加到循环中,但由于列表未放置在列表之外,因此被覆盖。因此,要从for循环中的列表返回列表,只需在前面放置一个newlist并附加到该列表


答案现在在“我的代码”中更新,该代码现在可以使用。

是,您可以仅使用
append
进行更新。您可以显示您的代码吗?只需将您的代码添加到您的问题中。@RohitJain代码已添加。列表是否可以返回???@user2603519。将其添加到问题中。只需在for循环之外创建一个空列表。然后将每个附加到要打印的列表中。啊,我明白了。简单的修复。我现在意识到出了什么问题。我试图将这些值返回到for循环中的列表中,因此每次都会被覆盖。@user2603519。很高兴你找到了答案。:)@用户2603519。您可以通过单击答案旁边的箭头将答案标记为已接受。