Vnorený zoznam môže byť zoznamom zoznamov alebo môže obsahovať niekoľko typov údajov. Ak ste vytvorili jeden z niekoľkých menších typov údajov, možno ho budete chcieť vyrovnať, aby boli položky čitateľnejšie a prístupnejšie.

Zistite, ako zmeniť vnorený zoznam na priamy, pomocou troch rôznych prístupov.

Ako zlúčiť zoznam Python

Existuje niekoľko spôsobov, ako narovnať vnorený zoznam v Pythone v závislosti od jeho zložitosti. Napríklad zoznam obsahujúci iba zoznamy sa dá ľahšie zlúčiť ako zoznam so zmiešanými typmi údajov.

V nasledujúcich častiach uvidíte, ako s každým z nich zaobchádzať.

Ako zlúčiť vnorený zoznam zoznamov pomocou funkcie Sum().

Táto metóda sa vzťahuje iba na zoznam zoznamov Python a zahŕňa zreťazenie položiek v takomto vnorenom zozname. Nevzťahuje sa na zoznam slučiek, slovníkov, množín alebo zmiešaných dátových typov, pretože tieto typy nemôžete zreťaziť.

Aj keď môžete použiť pre slučka na vyrovnanie zoznamu zoznamov, suma() funkcia je jednoduchá a čitateľnejšia, keďže je to a Python one-liner:

instagram viewer
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]

flatList = súčet (nestedList, [])
vytlačiť(plochý zoznam)

# Výstup: [1, 3, 4, 2, 4, 7, 9, 0]

Ako použiť slučku for na vyrovnanie zmiešaného vnoreného zoznamu

Môžete použiť a Python pre slučku pre zmiešané aj homogénne typy údajov. Funguje to teda bez ohľadu na to, či vnorený zoznam obsahuje iba zoznamy, n-tice, množiny, slovníky alebo ich zmes:

nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
plochý zoznam = []

pre i v nestedList:
pre k v i:
flatList.priložiť(k)

vytlačiť(plochý zoznam)

# Výstup: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Môžete to dosiahnuť aj porozumením zoznamu:

flatList = [k for i in nestedList for k in i]

vytlačiť(plochý zoznam)

# Výstup: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']

Manipulujte so zoznamami Python, ako chcete

Zoznam v Pythone zjednodušuje spôsob prezentácie a prístupu k údajom, pretože je ľahké s ním manipulovať. Aj keď ste videli, ako vyrovnať vnorený zoznam Python, stále existuje veľa vylepšení, ktoré môžete použiť na zoznamy v závislosti od vášho cieľa. Napríklad konvertovanie zoznamu Python na slovník je ďalšou bežnou úlohou, ktorú Python uľahčuje.