return을 사용하여 루프에서 여러 값 반환
Python의 루프에서 여러 값을 반환하려면 return만 사용하는 것만으로는 충분하지 않을 수 있습니다. 제공된 코드 샘플에서 볼 수 있듯이 루프 내부에서 return을 사용하면 반복이 조기에 종료되어 불완전한 데이터 검색이 발생합니다.
대체 접근 방식:
이 문제를 해결하는 한 가지 접근 방식 문제는 발전기를 사용하는 것입니다. 생성기는 메모리에 값을 모두 저장하지 않고도 일련의 값을 생성하는 특수 함수입니다. 생성기를 사용하여 코드를 수정하면 다음을 얻을 수 있습니다.
def show_todo(): # Create a generator for key, value in cal.items(): yield value[0], key
이 생성기를 목록 또는 튜플 이해력과 함께 사용하여 데이터를 수집할 수 있습니다.
a = list(show_todo()) # or tuple(show_todo())
또는 다음을 사용할 수 있습니다. 값을 저장하고 루프가 완료된 후 이를 반환하는 목록:
def show_todo(): my_list = [] for key, value in cal.items(): my_list.append((value[0], key)) return my_list
마지막으로 목록 Comprehension을 사용하면 동일한 결과를 간결하게 얻을 수 있습니다.
def show_todo(): return [(value[0], key) for key, value in cal.items()]
이러한 방법을 사용하면 루프에서 여러 값을 효과적으로 수집하고 반환할 수 있으므로 필요에 따라 다른 함수에서 이 데이터를 사용할 수 있습니다.
위 내용은 Python의 루프에서 여러 값을 어떻게 반환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!