Lista zagnieżdżona może być listą list lub zawierać kilka typów danych. Jeśli zbudowałeś jeden z kilku mniejszych typów danych, możesz go spłaszczyć, aby elementy były bardziej czytelne i dostępne.
Dowiedz się, jak zamienić listę zagnieżdżoną w prostą, korzystając z trzech różnych podejść.
Jak spłaszczyć listę Pythona
Istnieje kilka sposobów prostowania listy zagnieżdżonej w Pythonie, w zależności od jej złożoności. Na przykład lista zawierająca tylko listy jest łatwiejsza do spłaszczenia niż lista z mieszanymi typami danych.
W kolejnych sekcjach dowiesz się, jak sobie z nimi radzić.
Jak spłaszczyć zagnieżdżoną listę list za pomocą funkcji Sum()?
Ta metoda ma zastosowanie tylko do listy list w Pythonie i polega na łączeniu elementów w takiej zagnieżdżonej liście. Nie dotyczy listy pętli, słowników, zestawów ani mieszanych typów danych, ponieważ nie można łączyć tych typów.
Chociaż możesz użyć dla pętla, aby spłaszczyć listę list, suma() funkcja jest prosta i bardziej czytelna, ponieważ jest Jednowierszowy Python:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = suma (nestedList, [])
wydrukować(płaska lista)
# Wyjście: [1, 3, 4, 2, 4, 7, 9, 0]
Jak używać pętli for do spłaszczania mieszanej listy zagnieżdżonej
Możesz użyć Python dla pętli zarówno dla mieszanych, jak i jednorodnych typów danych. Działa więc niezależnie od tego, czy lista zagnieżdżona zawiera tylko listy, krotki, zestawy, słowniki lub ich mieszankę:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"mi": 3, "o":9, "t":7}]
płaska lista = []dla mnie w nestedList:
dla k w i:
płaska lista.dodać(k)wydrukować(płaska lista)
# Wyjście: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'mi', 'o', 't']
Możesz to również osiągnąć dzięki zrozumieniu listy:
flatList = [k for i in nestedList for k in i]
wydrukować(płaska lista)
# Wyjście: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'mi', 'o', 't']
Manipuluj listami Pythona, jak chcesz
Lista Pythona upraszcza sposób prezentowania i uzyskiwania dostępu do danych, ponieważ łatwo nią manipulować. Chociaż widziałeś, jak spłaszczyć zagnieżdżoną listę Pythona, nadal istnieje wiele poprawek, które możesz zastosować do list, w zależności od celu. Na przykład konwertowanie listy Pythona na słownik jest kolejnym powszechnym zadaniem, które Python ułatwia.