2012-06-19 4 views
1

그래, 내가해야 할 일은 목록의 목록을 반복하고 각 목록에 대해 반복을 시작하기 전에 결과를 다시 분석하는 것입니다. 내가 파이썬을 사용해 보았지만 내 방식대로는 할 수 없다는 것을 분명히했다. 그래서 이것을 보여 주면 누군가 내 이론을 구체화하는 방법에 대해 더 잘 교육하는 데 도움이 될 것입니다. 도움이 필요합니다. 목록을 반복하는 데 도움이 필요합니다.

list = [['name','phone'],['name2','phone2']](AND SO FORTH) 
templist = [] 

지금 내가 임시 목록 (templist를) 만들 수 있도록 내가 (각 임시 목록) 함수를 통과 임시리스트를 슬라이스 할 수 있도록 '목록'을 반복하는 것을 시도하고있다.

ex. templist [0], templist [1] ... 그런 다음 함수를지나 가면 반복 목록이 'list'의 다음 목록으로 이동하면서 templist를 다시 비어있게됩니다.

여기에 변수 이름으로 샘플

(insert iteration here): 
    foofunction(templist[0],templist[1]) 
    templist = [] 
+0

모두 작동했습니다. 모두에게 감사드립니다! – Isov5

답변

5

당신은 목록 mylist을 반복하고 foofunction 즉시 (목록 자신을있는) 항목을 전달할 수 있습니다

for item in mylist: 
    foofunction(*item) 

* 연산자는 목록을 해당 함수의 여러 매개 변수로 압축하는 데 사용됩니다 (추가 정보 documentation에서 찾을 수 있습니다.)

+1

아니면 'itertools.starmap'을 사용하십시오. – georg

4

사용하지 마십시오 list입니다. 나는 biglist에 목록을 이름을 변경 한 :

biglist = [['name','phone'],['name2','phone2']] 

for name, phone in biglist: 
    foofunction(name, phone) 

은 동등하다 :

foofunction('name', 'phone') 
foofunction('name2', 'phone2') 
+0

분명히, 각 하위 목록에는 항상 같은 수의 항목이 있어야합니다. –

1
for x in mylist: 
    foofunction(*x) 
관련 문제