파이썬에서 재귀 함수의 결과를 반환하는 데 문제가 있습니다.재귀 함수에서 목록을 반환 할 수 없습니다.
내 함수는 최대 list_upper_range
범위의 정수 사이에 가능한 비교 쌍 목록을 반환해야합니다.
두 개의 int가 각 쌍마다 한 쌍씩 쌍을 이루는 것이 중요합니다.
결과가 인쇄 될 때까지 함수가 예상대로 작동하고 결과가 함수가 호출 된 곳으로 반환됩니다.
def generate_comparisons_list(list_upper_range, iter_start, list_of_cases):
if iter_start == list_upper_range:
#print(list_of_cases) here verified condition was met
return list_of_cases
for i in range(iter_start+1, list_upper_range):
this_case = [iter_start, i]
list_of_cases.append(this_case)
iter_start += 1
generate_comparisons_list(list_upper_range, iter_start, list_of_cases)
list_of_cases_a_and_b = generate_comparisons_list(list_upper_range=6, iter_start=1, list_of_cases=[])
print(list_of_cases_a_and_b) #returns None
결과
[[1, 2], [1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 4], [3, 5], [4, 5]]
내가 파이썬은 재귀 함수에서 목록을 처리하는 방식을 오해
로 반환해야 하는가?
이 성공한 전설! 하지만 아직 내 마크가 정확하지는 않습니다. 감사합니다. – JasTonAChair
이것은 일종의 질문의 범위를 벗어나지 만, 여기 itertools로 원하는 것을 생성하는 데보다 합리적인 방법이기도합니다. 'x [0]
James
예 훨씬 더 좋네 – JasTonAChair