2014-12-17 1 views
0

Python으로 작업하면서 문자열 목록이 있습니다. 문자열의 모든 조합을 반복하고 각 조합을 함수에 대한 세 개의 인수 중 두 개로 전달하고 싶습니다. 또한 itertools를 사용하려고합니다.Python : itertools를 사용하고 루프에서 개별적으로 튜플 항목에 액세스하십시오.

for pair in itertools.combinations(stringList,2): 
    function(*pair[0],*pair[1],0) 

이 작동하지 않습니다

내가 처음에 해낸 것입니다. 몇 가지 시도한 후에, 내 마지막 생각은 *pair을 문자열로 변환 한 다음 목록으로 분할하고 항목에 액세스하는 것입니다.하지만 그렇게 많은 단계에서 잘못된 것으로 보입니다. 어떤 충고?

for pair in itertools.combinations(string_list, 2): 
    print(pair[0], pair[1]) 

을 또한 튜플 풀기를 사용하여 작성 할 수 있습니다 :

+0

왜 'for a, b in ... : function (a, b, 0)'이 아니겠습니까? '*'뒤에 위치 인수를 사용할 수 없습니다. – jonrsharpe

답변

2

이것은 나를 위해 작동

for e1, e2 in itertools.combinations(string_list, 2): 
    print(e1, e2) 

난 당신이 코드에이 적응 드리겠습니다.

+0

우수한 작품, 고마워! – Zubo