Erlang과 Ruby에는 모두 배열을 평탄화하는 기능이 있습니다. 언어에 추가하는 간단하고 유용한 도구 인 것 같습니다. 하나는 이것을 할 수 있습니다 :
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
또는:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
대신 파이썬에서는 배열을 처음부터 평평하게하는 함수를 작성하는 데 어려움을 겪어야합니다. 이것은 나에게 어리석은 것처럼 보입니다. 배열을 평평하게하는 것이 일반적입니다. 두 배열을 연결하기 위해 사용자 정의 함수를 작성하는 것과 같습니다.
나는 이것을 결실없이 구글로 만들었으므로 여기에서 묻는다. 십만 개의 다양한 배터리가 포함 된 Python 3과 같은 성숙한 언어가 배열을 평탄화하는 간단한 방법을 제공하지 않는 특별한 이유가 있습니까? 그러한 기능을 포함한다는 아이디어는 어느 시점에서 논의되고 거부 되었습니까?
extend
했지만 평탄화는 훨씬 더 우아했을 것입니다. 그러나이 패턴이 표준 라이브러리에서 평평 해지는 것을 정당화 할만 큼 흔하다면 상처를 입습니다.