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ä.