2013-07-21 3 views
-1

안녕 모두 for 루프의 끝에 생성 된 목록이 있습니다. 마지막 줄은for-loop에서 다른 목록으로 목록 반환

newlist.append(variable) 

루프를 실행하고 값을 반환하지만 다음 루프에서 overwrited됩니다. 따라서 내가하고 싶은 일은 새로운리스트를 newlist2로 반환하여 루프를 반복 할 때 모든리스트가 newlist2에 들어가 모든 값이 반환되도록 할 수 있습니다.

는 제 1 루프의 단부에서 예를 들어,이 목록은 그때

newlist2 = [['name', 20, 50, 70]] 

내가 얻을 통해 두 번째 시간에 그것을 추가 할

newlist = ['name', 20, 50, 70] 

이다

newlist = ['name', 50, 70, 90] 

그런 것을 newlist2에 추가하고 싶습니다.

newlist2 =  [['name', 20, 50, 70], ['name', 50, 70, 90]] 

가능합니까 ?? 내가 잘못하고있는 대신 확장을 사용해야합니까?

편집 :이 코드는 이미 도움으로 구성되어 있습니다.

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

네, 단지'append'만으로 할 수 있습니다. 코드를 보여줄 수 있습니까? –

+1

질문에 대한 코드를 추가하기 만하면됩니다. –

+0

@RohitJain 코드가 추가되어 목록을 반환 할 수 있습니까 ?? – user2603519

답변

1

난 당신이 이런 식으로 뭔가를하고 싶은 생각 : 난 그냥 데모 목적을 위해 [1, 2] 매번 추가 한

>>> 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]] 

. 목록을 추가 할 수 있습니다.

+0

내 코드를 어떻게 보여줄 수 있습니까? – user2603519

+0

@ user2603519 질문에 추가하십시오. –

+0

for 루프 외부에 비어있는 목록을 만듭니다. 그리고 당신이 그것을 인쇄하고있는 목록에'each '를 추가하십시오. –

0

Rohit Jain이 for 루프 외부에 새 목록을 추가하고 추가 할 것을 제안했습니다.

orginally는 for 루프 내부에 새 목록을 추가하려고했습니다. 루프가 실행될 때마다 매번 계산 된 값과 각 목록에서 생성 된 값이 루프에 추가되었지만 목록 외부에 배치되지 않았으므로 덮어 씁니다. 이와 같이 for 루프의 목록에서 목록을 반환하려면 간단히 새 목록을 앞에 추가하고 추가하십시오.

답변은 이제 내 코드에서 업데이트됩니다.

관련 문제