여기에 재귀 함수가 필요하다고 생각하지 않습니다.
new_list = [name.split()[0] for name in nameList]
는 편집 : 그것은 재귀 함수해야하는 경우 좋아, 그럼이 작동합니다
def convertName(nameList):
if nameList == []:
return []
elif len(nameList) == 1:
return [nameList[0].split()[0]]
else:
head = nameList[:1]
rest = nameList[1:]
print('head {}, rest {}'.format(head, rest))
return convertName(head)+convertName(rest)
을 출력은 다음과 같이 다음입니다 : 물론
>>> print(convertName(nameList))
head ['Julia Truong'], rest ['Chen Wu', 'Jebb Castro', 'Ron Kenndey', 'X Y']
head ['Chen Wu'], rest ['Jebb Castro', 'Ron Kenndey', 'X Y']
head ['Jebb Castro'], rest ['Ron Kenndey', 'X Y']
head ['Ron Kenndey'], rest ['X Y']
['Julia', 'Chen', 'Jebb', 'Ron', 'X']
당신 함수 내에서 print
을 삭제할 수 있습니다 - 시험 평가 이후로 어떻게 작동하는지 보여주기 위해 거기에 놓았습니다. 나는 이것이 매우 만족스럽지 않다고 느낀다. 그리고 나는 정말로 여기의 목록 이해력을 선호 할 것이다.
공백이 약간 엉망입니다. 너 무슨 뜻이야? 무슨 소리 야? 무슨 일있어? – doctorlove