목록 내의 모든 개체에 대해 몇 가지 작업을 수행하고 처리 된 목록의 구조와 정확히 일치하는 새 목록을 출력하는 재귀 함수를 작성하려고합니다. 여기에 사용자로부터 도움을 받았지만, 필자는 필자가 문자열을 반복적으로 시도하고 map()을 사용하여 잘 작동하도록 시도했다. 나는 반복 가능하지 않은 INT와 같은 다른 데이터 유형에 적용하고 그러나 때, 나는 오류 얻을 : 나는 그들이 반복 가능하지 않기 때문에 여기에 예로서 정수를 사용하고 내가 기대하고map() 이외의 목록 구조가 파이썬에서
def process_list(_list):
new_list = []
for x in _list:
if is_list(x):
new_list.append(process_list(x))
else:
new_list.append(map(lambda y: y + 1, x))
return new_list
def is_list(l):
return type(l) == types.ListType
_list = [[0,1,2],[0,1,2],[0,1,2]],[0,1,2]]
을 그지도() 정수 목록에서 실패합니다. 반복 가능하지 않은 다른 데이터 유형을 상상해보십시오. 이것을 정의 할 수있는 또 다른 방법이있어 목록 내의 객체에 대해 일부 기능을 수행 한 다음 입력 목록과 일치하는 출력 목록을 만들 수 있습니까?
는 항목에 간단한 추가를 수행함으로써
: 당신은 정말 정말 당신이 할 수있는 가장 좋은 것은 직접 사용지도는 당신의 루프 ... 그냥
을 할 수에서 모두
map()
를 사용할 필요가 없습니다! 고맙습니다 – konrad