Ugniježđeni popis može biti popis popisa ili sadržavati nekoliko tipova podataka. Ako ste ga izgradili od nekoliko manjih tipova podataka, možda biste ga željeli izravnati kako bi stavke bile čitljivije i pristupačnije.
Saznajte kako pretvoriti ugniježđeni popis u pravi, s tri različita pristupa.
Kako izravnati Python listu
Postoji nekoliko načina za ispravljanje ugniježđenog popisa u Pythonu, ovisno o njegovoj složenosti. Popis koji sadrži samo popise, na primjer, lakše je izravnati nego onaj s mješovitim tipovima podataka.
Vidjet ćete kako postupati sa svakim od njih u sljedećim odjeljcima.
Kako izravnati ugniježđeni popis popisa s funkcijom Sum().
Ova metoda se primjenjuje samo na Python popis popisa i uključuje spajanje stavki u takav ugniježđeni popis. Ne primjenjuje se na popis petlji, rječnika, skupova ili mješovitih tipova podataka jer ne možete spojiti te tipove.
Iako možete koristiti za petlja za izravnavanje popisa popisa, iznos() funkcija je jednostavna i čitljivija jer je a Python jednoliner:
nestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = zbroj (ugniježđeni popis, [])
ispisati(flatList)
# Izlaz: [1, 3, 4, 2, 4, 7, 9, 0]
Kako koristiti petlju for za izravnavanje mješovitog ugniježđenog popisa
Možete koristiti a Python za petlju i za mješovite i za homogene tipove podataka. Dakle, funkcionira bez obzira na to sadrži li ugniježđeni popis samo popise, torke, skupove, rječnike ili njihovu mješavinu:
nestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []za ja u nestedList:
za k u i:
flatList.dodati(k)ispisati(flatList)
# Izlaz: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
To možete postići i razumijevanjem popisa:
flatList = [k za i u nestedList za k u i]
ispisati(flatList)
# Izlaz: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Manipulirajte Python popisima kako želite
Python popis pojednostavljuje način na koji prezentirate i pristupate podacima jer je njime lako manipulirati. Iako ste vidjeli kako izravnati ugniježđeni Python popis, još uvijek postoje mnoge izmjene koje možete primijeniti na popise, ovisno o svom cilju. Na primjer, pretvaranje Python popisa u rječnik još je jedan uobičajen zadatak koji Python olakšava.