Erlang ve Ruby'nin her ikisi de dizileri düzleştirmek için işlevlerle birlikte geliyor. Bir dil eklemek için bu kadar basit ve kullanışlı bir araç gibi görünüyor. Biri bunu yapabilir:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
Ya da:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
Bunun yerine, Python'da, dizileri sıfırdan düzleştirmek için bir işlev yazma zorluğundan geçmek gerekir. Bu benim için aptalca görünüyor, dizileri düzleştirmek yapmak için ortak bir şey. İki diziyi birleştirmek için özel bir işlev yazmak zorunda gibi.
Googled'i verimli bir şekilde yaptım, bu yüzden burada soruyorum; İçinde yüzbinlerce farklı batarya bulunan Python 3 gibi olgun bir dilin basit bir düzleştirme dizisi yöntemi sunmamasının belirli bir nedeni var mı? Böyle bir işlevi dahil etme fikri bir noktada tartışıldı ve reddedildi mi?
extend
ama düzleştirmek çok daha zarif olurdu. Bununla birlikte, bu örüntü standart kütüphanede dümdüz yaslanmayı haklı çıkaracak kadar yaygınsa yararım.