, permutations
은 반복기를 반환하므로 호출해야하는 코드가 무엇이든 print
을 변경하면 코드가 작동합니다.
from itertools import permutations
s = permutations(range(3))
s
<itertools.permutations object at 0x000000000377CFC0>
next(s)
(0, 1, 2)
방금 map
를 사용할 수있는 순열의 각 동일한 기능을 처리하려면 : 당신이 한 번
from itertools import permutations
def process(s):
for s_temp in permutations(s):
call_your_stuff(s_temp)
또한 순열은 당신이 next
를 호출에 다음 항목을 얻을 수있는 객체 당신은를 수집 할 수 있습니다
s = permutations(range(3))
map(lambda (x, y, z): x+y-z, s)
[-1, 1, -1, 3, 1, 3]
을 : 당신이 호출 할 필요가 무엇 이건 그냥 예에서 lambda
기능을 대체 당신이 순열을 소비하는 데이터가 "손실"될 것이라고 반복자 객체 번 (기타리스트, 튜플,로) 데이터를 수집 해달라고하면
s = list(permutations(range(3)))
s
[(0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0)]
공지 사항
것은 (당신이 가진 것 : 추가 처리를 위해 목록에 데이터
'permutations (s)'는 반복자이므로 모든 것을 미리 생성하지 않고 "한 번에 하나의 순열"을 처리 할 수 있습니다. –
당신은 옳은 길을 걷고 있습니다. 그러나 조금 더 많은 내용이 없으면 무엇을해야할 지 말할 수 없습니다. –
인쇄는 한 번에 하나의 순열을 소비합니까? print를 하나의 순열에 작용하는 함수로 바꿀 수있다. – Quickbeam2k1