Šiame vadove paaiškinsime Python sąrašų sąrašų sąvoką, įskaitant įvairius jų kūrimo būdus ir įprastas operacijas, kurias galima atlikti su Python sąrašų sąrašais.
Kas yra Python sąrašų sąrašas?
Sąrašų sąrašas Python yra sąrašas, kuriame kiekvienas išorinio sąrašo elementas yra pats sąrašas. Taip sukuriama dvimatė struktūra, dažnai vadinama matrica arba 2D sąrašu. Kiekvienas vidinis sąrašas gali būti skirtingo ilgio, todėl gali būti netaisyklingų ar nelygių struktūrų. Ši universali duomenų struktūra dažniausiai naudojama lentelės duomenims, matricoms arba įdėtoms elementų rinkiniams pateikti.
Pavyzdys: Šiame pavyzdyje matrica yra trijų sąrašų sąrašas, o kiekvienas vidinis sąrašas reiškia reikšmių eilutę. Atskirus elementus galite pasiekti naudodami dvigubą indeksavimą, pvz., matricą[0][1], kad pasiektumėte elementą pirmoje eilutėje ir antrame stulpelyje (kuris šiuo atveju yra 2).
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]>
Sukurkite Python sąrašų sąrašą
Yra įvairių būdų, kaip Python sukurti sąrašų sąrašą. Čia paaiškiname kai kuriuos dažniausiai naudojamus Python sąrašų sąrašo metodus ir toliau pateikiamus Python sąrašų sąrašo naudojimo būdus.
Turinys
- Sukurkite sąrašų sąrašą naudodami append() funkciją
- Sukurkite sąrašų sąrašą naudodami sąrašo inicijavimo priemonę
- Sukurkite sąrašų sąrašą naudodami sąrašo supratimą
- Sukurkite sąrašų sąrašą naudodami For-Loop Python
- Pereikite sąrašų sąrašą Python
Sukurkite sąrašų sąrašą naudodami append() funkciją
Šiame pavyzdyje kodas inicijuoja tuščią sąrašą, pavadintą „sąrašų_sąrašas“ ir prideda tris sąrašus pridėti () sudarant 2D sąrašą. Tada gauta struktūra atspausdinama naudojant teiginį „spausdinti“.
Python
c++ konvertuoti int į eilutę
# Initializing an empty list> list_of_lists>=> []> > # Appending lists to create a list of lists> list_of_lists.append([>1>,>2>,>3>])> list_of_lists.append([>4>,>5>,>6>])> list_of_lists.append([>7>,>8>,>9>])> > # Displaying the resulting list of lists> print>(list_of_lists)> |
>
>Išvestis
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]>
Sukurkite sąrašų sąrašą naudodami sąrašo inicijavimo priemonę
Šiame pavyzdyje kode naudojamas sąrašo iniciatorius, kad būtų sukurtas 2D sąrašas, pavadintas „list_of_lists“, vaizduojantis reikšmių eilutes. Gauta struktūra atspausdinama naudojant teiginį „print“.
Python
# Using list initializer to create a list of lists> list_of_lists>=> [> >[>1>,>2>,>3>],> >[>4>,>5>,>6>],> >[>7>,>8>,>9>]> ]> > # Displaying the resulting list of lists> print>(list_of_lists)> |
>
>Išvestis
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]>
Sukurkite sąrašų sąrašą naudodami sąrašo supratimą
Šiame pavyzdyje vidinis sąrašo supratimas [i for i diapazone (1, 4)] sukuria sąrašą [1, 2, 3]. Išorinis sąrašo supratimas [… for _ diapazone(3)] pakartoja šį vidinį sąrašą tris kartus, sudarydamas sąrašų sąrašą su trimis eilutėmis.
Python
pašalinti pirmąjį simbolį Excel
# Using list comprehension to create a list of lists> list_of_lists>=> [[i>for> i>in> range>(>1>,>4>)]>for> _>in> range>(>3>)]> > # Displaying the resulting list of lists> print>(list_of_lists)> |
>
>Išvestis
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]>
Sukurkite sąrašų sąrašą naudodami For-Loop Python
Šiame pavyzdyje išorinė For-Loop kartoja eilučių (eilučių) skaičių ir kiekvienai iteracijai sukuriamas vidinis sąrašas, naudojant sąrašo supratimą [j + 1 j diapazone (stulpeliai)]. Šis vidinis sąrašas reiškia reikšmių eilutę ir pridedamas prie sąrašo_sąrašų.
Python
# Using a for-loop to create a list of lists> list_of_lists>=> []> rows>=> 3> columns>=> 3> > for> i>in> range>(rows):> >inner_list>=> [j>+> 1> for> j>in> range>(columns)]> >list_of_lists.append(inner_list)> > # Displaying the resulting list of lists> print>(list_of_lists)> |
>
>Išvestis
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]>
Pereikite sąrašų sąrašą Python
Šiame pavyzdyje kodas inicijuoja 3 × 3 sąrašų sąrašą, vadinamą „sąrašų_sąrašas“. Tada jis naudoja įdėtas kilpas, kad pereitų per kiekvieną elementą, spausdindamas juos iš eilės tarpais atskirtu formatu.
Python3
# Initializing a list of lists> list_of_lists>=> [> >[>1>,>2>,>3>],> >[>4>,>5>,>6>],> >[>7>,>8>,>9>]> ]> > # Traversing the list of lists using nested loops> for> row>in> list_of_lists:> >for> element>in> row:> >print>(element, end>=>' '>)> >print>()> |
>
>
Išvestis:
1 2 3 4 5 6 7 8 9>