목록의 튜플을 튜플로 병합해야 하는 경우 입력을 튜플로 받는 메서드가 정의됩니다.
튜플은 반복되며 결과를 얻을 때까지 동일한 메서드가 반복해서 호출됩니다.
아래는 동일한 데모입니다 -
예시
def flatten_tuple(my_tuple): if isinstance(my_tuple, tuple) and len(my_tuple) == 2 and not isinstance(my_tuple[0], tuple): my_result = [my_tuple] return tuple(my_result) my_result = [] for sub in my_tuple: my_result += flatten_tuple(sub) return tuple(my_result) my_tuple = ((35, 46), ((67, 70), (8, 11), (10, 111)), (((21, 12), (3, 4)))) print("The tuple is : " ) print(my_tuple) my_result = flatten_tuple(my_tuple) print("The flattened tuple is : ") print(my_result)
출력
The tuple is : ((35, 46), ((67, 70), (8, 11), (10, 111)), ((21, 12), (3, 4))) The flattened tuple is : ((35, 46), (67, 70), (8, 11), (10, 111), (21, 12), (3, 4))
설명
-
튜플을 매개변수로 사용하는 'flatten_tuple'이라는 메서드가 정의되어 있습니다.
-
튜플이 실제로 튜플인지, 튜플의 길이가 2인지 확인합니다.
-
그렇다면 출력으로 반환됩니다.
-
또한 빈 목록이 정의됩니다.
-
튜플이 다시 반복되고 병합된 튜플의 요소가 이 목록에 추가됩니다.
-
최종 출력으로 반환됩니다.
-
튜플의 튜플은 메서드 외부에서 정의되고 콘솔에 표시됩니다.
-
이 튜플의 튜플을 매개변수로 전달하여 메서드를 호출합니다.
-
출력은 콘솔에 표시됩니다.