Python Listan ymmärtäminen, liittäminen, lajittelu, pituus [EXAMPLES]
Mikä on a Python Lista?
Lista on juuri sitä miltä se kuulostaa, kontti, joka sisältää erilaisia Python objektit, jotka voivat olla kokonaislukuja, sanoja, arvoja jne. Se vastaa taulukkoa muissa ohjelmointikielissä. Se esitetään hakasulkeilla (ja tämä on yksi attribuuteista, joka erottaa sen monikoista, jotka erotetaan suluilla). Se on myös muuttuva, eli sitä voidaan muokata tai päivittää; toisin kuin monikot, jotka ovat muuttumattomia.
Esimerkkejä Python luettelot:
Python listat voivat olla homogeenisia, mikä tarkoittaa, että ne voivat sisältää samantyyppisiä objekteja; tai heterogeenisiä, mukaan lukien erityyppiset esineet.
Esimerkkejä homogeenisista luetteloista ovat:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Esimerkkejä heterogeenisistä luetteloista ovat:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
Luetteloiden arvojen käyttäminen
Listojen arvoihin pääsemiseksi voidaan käyttää listojen sisällä olevien objektien indeksiä. Indeksi sisään Python listat viittaavat elementin sijaintiin järjestetyssä luettelossa. Esimerkiksi:
list = [3, 22, 30, 5.3, 20]
- Yllä olevan luettelon ensimmäisen arvon 3 indeksi on 0
- Toisen arvon, 22, indeksi on 1
- Kolmannen arvon, 30, indeksi on 2
ja niin edelleen. Voit käyttää jokaista luettelon arvoa käyttämällä:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
Listan viimeiseen jäseneen pääsee myös indeksillä -1. Esimerkiksi,
list[-1] = 20
Python Listan viipalointi
Listan viipalointi on tapa jakaa listan osajoukko, ja tähän käytetään myös listaobjektien indeksejä. Esimerkiksi käyttämällä samaa luetteloesimerkkiä yllä;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python listat ovat ylemmän rajan poissulkevia, mikä tarkoittaa, että viimeinen indeksi luettelon viipaloinnin aikana jätetään yleensä huomiotta. Siksi
list[2:-1] = [30, 5.3]
, eikä [30, 5.3, 20]. Sama koskee kaikkia muita yllä annettuja luettelon viipalointiesimerkkejä.
Päivitetään listoja
Oletetaan, että sinulla on lista = [fysiikka, kemia, matematiikka] ja haluat muuttaa luettelon muotoon [biologia, kemia, matematiikka] ja muuttaa tehokkaasti indeksin 0 jäsentä. Tämä voidaan tehdä helposti määrittämällä tämä indeksi haluamasi uusi jäsen.
Tuo on,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Tuotos: [biologia, kemia, matematiikka]
Tämä korvaa jäsenen indeksissä 0 (fysiikka) uudella halutulla arvolla (kemia). Tämä voidaan tehdä mille tahansa luettelon jäsenelle tai osajoukolle, jota haluat muuttaa.
Annan toisen esimerkin; Oletetaan, että sinulla on luettelo, jota kutsutaan kokonaisluvuiksi ja joka sisältää luvut [2, 5, 9, 20, 27]. Jos haluat korvata luettelon 5 numerolla 10, voit tehdä sen seuraavasti:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Korvaaksesi kokonaislukuluettelon viimeisen jäsenen, joka on 27, ilmaisella numerolla, kuten 30.5, käytä:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Poistetaan luettelon elementtejä
On 3 Python menetelmät luetteloelementtien poistamiseen: list.remove(), list.pop() ja del-operaattori. Poista-menetelmä ottaa poistettavan elementin argumentiksi, kun taas pop ja del ottavat poistettavan elementin indeksin argumenttina. Esimerkiksi:
lista = [3, 5, 7, 8, 9, 20]
Voit poistaa 3:n (1. elementin) luettelosta käyttämällä:
- list.remove(3) tai
- list.pop[0] tai
- del list[0]
Voit poistaa luettelosta luvun 8, hakemistossa 3 olevan kohteen, käyttämällä:
- list.remove(8), tai
- lista.pop[3]
Liitä luetteloelementtejä
Elementtien liittämiseen luetteloon käytetään append-menetelmää, joka lisää elementin luettelon loppuun.
Esimerkiksi:
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Listaa sisäänrakennetut toiminnot (menetelmät)
Seuraavassa on luettelo sisäänrakennetuista funktioista ja menetelmistä sekä niiden kuvaukset:
- len(lista): tämä antaa tulosteena luettelon pituuden. Esimerkiksi:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- max(lista): palauttaa luettelon kohteen suurimmalla arvolla. Esimerkiksi:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- min(lista): palauttaa luettelon kohteen pienimmällä arvolla. Esimerkiksi:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- lista (tuple): muuntaa monikkoobjektin listaksi. Esimerkiksi;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- list.append(elementti): lisää elementin luetteloon. Esimerkiksi;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- lista.pop(indeksi): poistaa määritetyn indeksin elementin luettelosta. Esimerkiksi;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- list.remove(elementti):poistaa elementin luettelosta. Esimerkiksi;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- lista.käänteinen(): kääntää luettelon objektit. Esimerkiksi;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- lista.indeksi(elementti): saadaksesi luettelon elementin indeksiarvon. Esimerkiksi;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- summa(lista): saadaksesi kaikkien luettelon arvojen summan, jos arvot ovat kaikki numeroita (kokonaislukuja tai desimaalilukuja). Esimerkiksi;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Jos luettelo sisältää elementin, joka ei ole numero, kuten merkkijono, summamenetelmä ei toimi. Saat virheilmoituksen: "Tyyppivirhe: ei-tuetut operandityypit +:lle 'int' ja 'str'
- list.sort(): järjestää kokonaislukujen, liukulukujen tai merkkijonojen luettelon nousevaan tai laskevaan järjestykseen. Esimerkiksi:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Toinen esimerkki:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
Merkkijonoluettelo voidaan myös lajitella joko aakkosjärjestykseen tai merkkijonojen pituuden mukaan. Esimerkiksi;
# to sort the list by length of the elements strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
Voimme lajitella saman luettelon aakkosjärjestykseen käyttämällä merkkijonoja.
Listojen selaaminen
Listojen silmukka voidaan tehdä samalla tavalla kuin mikä tahansa muu silmukkatoiminto Python. Tällä tavalla menetelmä voidaan suorittaa useille luettelon elementeille samanaikaisesti. Esimerkiksi:
lista = [10, 20, 30, 40, 50, 60, 70].
Jos haluat käydä läpi kaikki tämän luettelon elementit, ja oletetaan, että lisää 10 jokaiseen elementtiin:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
Selaa luettelon kolme ensimmäistä elementtiä ja poistaa ne kaikki;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
Selataksesi 3rd (indeksi 2) luettelon viimeiseen elementtiin ja lisää ne uuteen luetteloon nimeltä new_list:
new_list = [] for elem in list[2:]: new_list.append(elem) print(“New List: {}”.format(new_list)) Output: New List: [30, 40, 50, 60, 70]
Tällä tavalla mitä tahansa menetelmää tai toimintoa voidaan soveltaa luettelon jäseniin tietyn toiminnon suorittamiseksi. Voit joko käydä läpi kaikki luettelon jäsenet tai käydä läpi luettelon osajoukon käyttämällä luettelon viipalointia.
Luettelo ymmärryksiä Python
Listan ymmärtämiset ovat Python funktioita, joita käytetään luomaan uusia sarjoja (kuten luetteloita, sanakirjoja jne.) käyttämällä jo luotuja sekvenssejä. Ne auttavat vähentämään pidempiä silmukoita ja helpottavat koodin lukemista ja ylläpitoa.
Esimerkiksi; Oletetaan, että halusit luoda luettelon, joka sisältää kaikkien numeroiden 1-9 neliöt:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) List_of_squares using for loop: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Voit tehdä saman luettelon ymmärtämisen kanssa seuraavasti:
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares_2)) Output using list comprehension: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Kuten yllä näkyy, koodin kirjoittaminen luettelon ymmärtämisellä on paljon lyhyempää kuin perinteisten silmukoiden käyttäminen, ja se on myös nopeampaa. Tämä on vain yksi esimerkki luettelon ymmärtämisen käytöstä for-silmukoiden sijasta, mutta tätä voidaan replikoida ja käyttää monissa paikoissa, joissa myös for-silmukoita voidaan käyttää. Joskus for-silmukan käyttäminen on parempi vaihtoehto, varsinkin jos koodi on monimutkainen, mutta monissa tapauksissa luettelon ymmärtäminen tekee koodauksestasi helpompaa ja nopeampaa.
Alla on taulukko, joka sisältää joitakin luettelotoimintoja ja -menetelmiä sekä niiden kuvauksia.
Sisäänrakennetut toiminnot
TOIMINTO | KUVAUS |
---|---|
Pyöristää() | Pyöristää argumenttina välitetyn luvun määrättyyn määrään numeroita ja palauttaa liukulukuarvon |
Min() | palauttaa tietyn luettelon vähimmäiselementin |
Max() | palauttaa tietyn luettelon enimmäiselementin |
len () | Palauttaa luettelon pituuden |
Luetella() | Tämä sisäänrakennettu toiminto luo iteroitavissa olevien kohteiden arvot ja indeksit, joten meidän ei tarvitse laskea manuaalisesti |
Suodattaa() | testaa, onko luettelon jokainen elementti tosi vai ei |
Lambda | Lauseke, joka voi esiintyä paikoissa, joissa def (funktioiden luomiseen) ei ole syntaktinen, listaliteraalin sisällä tai funktion kutsuargumenteissa |
Kartta() | palauttaa luettelon tuloksista, kun annettua funktiota on käytetty tietyn iterablen jokaiseen kohteeseen |
Kerää() | käyttää tiettyä argumentissaan välitettyä funktiota kaikkiin listan elementteihin palauttaa luettelon, joka sisältää välitulokset |
Summa() | Palauttaa kaikkien luettelon numeroiden summan |
Cmp() | Tätä käytetään kahden listan vertailuun ja palauttaa arvon 1, jos ensimmäinen lista on suurempi kuin toinen luettelo. |
liite | Lisää elementti luetteloon tietyssä paikassa |
Listaa menetelmät
TOIMINTO | KUVAUS |
---|---|
liitä() | Lisää uuden kohteen luettelon loppuun |
Asia selvä() | Poistaa kaikki kohteet luettelosta |
Kopio() | Palauttaa kopion alkuperäisestä luettelosta |
Laajenna () | Lisää useita kohteita luettelon loppuun |
Kreivi() | Palauttaa luettelon tietyn kohteen esiintymiskertojen määrän |
Indeksi() | Palauttaa luettelon tietyn elementin indeksin |
Pop() | Poistaa kohteen luettelosta tietyssä hakemistossa (poista sijainnin mukaan) |
Poista() | Poistaa tietyn kohteen luettelosta (poista arvon mukaan) |
Reverse() | Paikalla oleva käänteinen menetelmä, joka kääntää luettelon elementtien järjestyksen |
Yhteenveto
- Lista on juuri sitä miltä se kuulostaa, kontti, joka sisältää erilaisia Python objektit, jotka voivat olla kokonaislukuja, sanoja, arvoja jne.
- Python listat voivat olla homogeenisia, mikä tarkoittaa, että ne voivat sisältää samantyyppisiä objekteja; tai heterogeeninen, joka sisältää erityyppisiä objekteja.
- Listojen arvoihin pääsemiseksi voidaan käyttää listojen sisällä olevien objektien indeksiä.
- Listan viipalointi on tapa jakaa listan osajoukko, ja tähän käytetään myös listaobjektien indeksejä.
- Kolme menetelmää luetteloelementtien poistamiseen ovat: 1)list.remove(), 2)list.pop() ja 3)del-operaattori
- Liitä menetelmää käytetään elementtien liittämiseen. Tämä lisää elementin luettelon loppuun.
- Silmukkamenetelmä Python Ohjelma voidaan suorittaa useille tietoluettelon elementeille samanaikaisesti.
- Listan ymmärtämiset ovat Python funktioita, joita käytetään luomaan uusia sarjoja (kuten luetteloita, sanakirjoja jne.) käyttämällä jo luotuja sekvenssejä.