재귀 함수에서 작업하는 모든 부분 집합의 집합을 생성하는 동안, 나는 아래에 정의 된이 fuction를 나에게 예상치 못한 출력 준 것으로 나타났습니다 : "그것을하지 왜재귀 스택은 파이썬에서 호출 - 매핑
[[]], None, None, None and None.
을 for-loop가 활성화되어있을 때 제대로 작동하지만, 활성화되지 않은 경우에는 원하는 하위 집합에 완전히 매핑되지 않습니다.
print(ss)
for 루프가 활성화되어있을 때와 동일한 결과를 인쇄하지 않습니다.
무엇이 누락 되었습니까? I보고 원하는 무엇
는def get_all_subsets(some_list):
"""Returns all subsets of size 0 - len(some_list) for some_list"""
if len(some_list) == 0:
# If the list is empty, return the empty list
return [[]]
subsets = []
first_elt = some_list[0]
rest_list = some_list[1:]
ss = get_all_subsets(rest_list)
print(ss)
# for partial_subset in ss:
# subsets.append(partial_subset)
# next_element = partial_subset[:] + [first_elt]
# subsets.append(next_element)
# return subsets
L = [1,2,3,4]
print(get_all_subsets(L))
이다
가[2,3,4]을 [3,4]은, [4], [] 여기서
가 더있다 SO 가치 코드 :
def get_all_subsets(some_list):
"""Returns all subsets of size 0 - len(some_list) for some_list"""
if len(some_list) == 0:
# If the list is empty, return the empty list
return [[]]
subsets = []
first_elt = some_list[0]
rest_list = some_list[1:]
ss = get_all_subsets(rest_list)
print(ss)
for partial_subset in ss:
print(partial_subset)
# subsets.append(partial_subset)
# next_element = partial_subset[:] + [first_elt]
# subsets.append(next_element)
return subsets
, 어떻게 - - 내가-찾을 수 있습니다 - 모든 - 더 - 집합의 - 세트 [참조 -with-exactly-n-elements] (https://stackoverflow.com/questions/374626/how-can-i-find-all-the-subsets-of-a-set-with-exactly-n-elements) "학생들이하지는 않지만 사용하지 말고"이 문자열이 붙어있는 경우 –
들여 쓰기가 꺼져 있습니다. return 문이 없으면 함수는'None'을 반환합니다. – hpaulj