Python-luettelo: Ymmärtäminen, Apend, Lajittelu, Pituus, Käänteiset ESIMERKIT

Sisällysluettelo:

Anonim

Mikä on Python-luettelo?

Luettelo on täsmälleen miltä se kuulostaa, kontti, joka sisältää erilaisia ​​Python-objekteja, jotka voivat olla kokonaislukuja, sanoja, arvoja jne. Se vastaa matriisia muilla ohjelmointikielillä. Sitä edustavat hakasulkeet (ja tämä on yksi ominaisuuksista, jotka erottavat sen sulkeilla erotetuista sarjoista). Se on myös muuttuva, toisin sanoen sitä voidaan muokata tai päivittää; toisin kuin muuttujat, jotka ovat muuttumattomia.

Tässä python-opetusohjelmassa opit:

  • Mikä on Python-luettelo?
  • Esimerkkejä Python-luetteloista:
  • Arvojen käyttö luetteloissa
  • Luettelo viipalointi
  • Päivitetään luetteloita
  • Poistetaan luetteloelementtejä
  • Lisätään luetteloelementtejä
  • Luettele sisäänrakennetut toiminnot (menetelmät)
  • Luetteloiden selaaminen
  • Luettele ymmärrykset

Esimerkkejä Python-luetteloista:

Python-luettelot voivat olla homogeenisia, mikä tarkoittaa, että ne voivat sisältää samantyyppisiä objekteja; tai heterogeeninen, 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ä heterogeenisista luetteloista ovat:

[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']

Arvojen käyttö luetteloissa

Luetteloiden sisäisten arvojen käyttämiseen voidaan käyttää luetteloiden sisällä olevien objektien hakemistoa. Hakemisto Python-luetteloissa viittaa 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ää kaikkia arvoja luettelosta käyttämällä seuraavaa:

list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20

Luettelon viimeiseen jäseneen pääsee myös indeksillä -1. Esimerkiksi,

list[-1] = 20

Luettelo viipalointi

Luettelon viipalointi on menetelmä luettelon osajoukon jakamiseksi, ja tähän käytetään myös luettelo-objektien 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-luettelot ovat ylemmän tason eksklusiivisia, ja tämä tarkoittaa, että luettelon viipaloinnin aikana viimeinen hakemisto jätetään yleensä huomiotta. Siksi

list[2:-1] = [30, 5.3] 
, eikä [30, 5.3, 20]. Sama pätee kaikkiin muihin yllä annettuihin luetteloiden leikkaamiseen.

Päivitetään luetteloita

Oletetaan, että sinulla on luettelo = [fysiikka, kemia, matematiikka] ja haluat muuttaa luetteloksi [biologia, kemia, matematiikka] muuttamalla jäsenen indeksissä 0. Se voidaan helposti tehdä osoittamalla kyseinen indeksi haluamasi uusi jäsen.

Tuo on,

list = [physics, chemistry, mathematics]list[0] = biologyprint(list)

Tuotos: [biologia, kemia, matematiikka]

Tämä korvaa jäsenen indeksissä 0 (fysiikka) uudella haluamallasi arvolla (kemia). Tämä voidaan tehdä kaikille muutettavan luettelon jäsenille tai osajoukoille.

Antaakseni toisen esimerkin; Oletetaan, että sinulla on luettelo, jota kutsutaan kokonaisluvuiksi ja joka sisältää numerot [2, 5, 9, 20, 27]. Voit korvata 5 luettelossa 10: llä tekemällä sen seuraavasti:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]

Voit korvata kokonaislukujen luettelon viimeisen jäsenen, joka on 27, ilmaisella numerolla, kuten 30,5, käyttämällä seuraavaa:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]

Poistetaan luetteloelementtejä

Listaelementtien poistamiseen on 3 Python-menetelmää: list.remove (), list.pop () ja del -operaattori. Poista-menetelmä vie tietyn elementin poistettavaksi argumenttina, kun taas pop ja del ottavat poistettavan elementin indeksin argumenttina. Esimerkiksi:

luettelo = [3, 5, 7, 8, 9, 20]

Voit poistaa 3 (1. elementti) luettelosta käyttämällä:

  • list.remove (3) tai
  • list.pop [0] tai
  • del-luettelo [0]

Jos haluat poistaa luettelosta 8, nimikkeen 3 kohteen, voit käyttää seuraavaa:

  • list.remove (8) tai
  • list.pop [3]

Lisätään luetteloelementtejä

Jos haluat lisätä elementtejä luetteloon, käytetään lisäysmenetelmää, 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"]

Luettele sisäänrakennetut toiminnot (menetelmät)

Seuraava on luettelo sisäänrakennetuista toiminnoista ja menetelmistä sekä niiden kuvaukset:

  • len (luettelo): tämä antaa luettelon pituuden ulostulona. Esimerkiksi:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
  • max (lista): palauttaa luettelossa olevan kohteen enimmäisarvolla. Esimerkiksi:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
  • min (luettelo): palauttaa luettelossa olevan kohteen vähimmäisarvolla. Esimerkiksi:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
  • list (tuple): muuntaa dupleksiobjektin luetteloksi. Esimerkiksi;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
  • list.append (element): lisää elementin luetteloon. Esimerkiksi;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
  • list.pop (index): poistaa määritetyn hakemiston elementin luettelosta. Esimerkiksi;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
  • list.remove (element): poistaa elementin luettelosta.
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
  • list.reverse (): kääntää luettelon objektit. Esimerkiksi;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
  • list.index (element): saat listan elementin indeksiarvon. Esimerkiksi;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
  • summa (luettelo): saat luettelon kaikkien arvojen summan, jos arvot ovat kaikki numerot (kokonaisluvut tai desimaalit). Esimerkiksi;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17

Jos luettelossa on elementti, joka ei ole numero, kuten merkkijono, summa-menetelmä ei toimi. Saat virheilmoituksen sanomalla: " TypeError : ei-tuetut operandityypit tyypille +: 'int' ja 'str'"

  • list.sort (): järjestää luettelon kokonaisluvuista, liukulukuista tai merkkijonoista nousevassa tai laskevassa järjestyksessä. 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ärjestyksessä tai merkkijonojen pituuden mukaan. Esimerkiksi;

# to sort the list by length of the elementsstrings = ['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ärjestyksessä käyttämällä merkkijonoja.

Luetteloiden selaaminen

Luetteloiden selaaminen voidaan tehdä samalla tavalla kuin mikä tahansa muu silmukointitoiminto Pythonissa. Näin menetelmä voidaan suorittaa useille luettelon elementeille samanaikaisesti. Esimerkiksi:

luettelo = [10, 20, 30, 40, 50, 60, 70].

Voit selata kaikkia tämän luettelon elementtejä ja sanoa, että lisäät jokaiselle elementille 10:

for elem in list:elem = elem + 5print(elem)>>>>15253545556575

Voit selata luettelon kolmea ensimmäistä elementtiä ja poistaa ne kaikki;

for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]

Silmukan läpi 3 rd (indeksi 2) viimeinen elementti luettelossa, ja append ne uuteen luettelon 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 selata kaikkia luettelon jäseniä tai selata luettelon osajoukkoa käyttämällä luettelon viipalointia.

Luettele ymmärrykset

Luettelon ymmärtäminen on Python-toimintoa, jota käytetään luomaan uusia sekvenssejä (kuten luetteloita, sanakirjoja jne.) Käyttämällä jo luotuja sekvenssejä. Ne auttavat vähentämään pidempiä silmukoita ja helpottamaan koodisi lukemista ja ylläpitoa.

Esimerkiksi; Oletetaan, että haluat luoda luettelon, joka sisältää kaikkien numeroiden neliöt 1: stä 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]

Saman asian tekeminen luettelon ymmärtämisellä:

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ähtiin, koodin kirjoittaminen luettelonäkymien avulla on paljon lyhyempi kuin perinteisen käyttö silmukoille, ja on myös nopeampi. Tämä on vain yksi esimerkki luettelokäsitysten käytöstä silmukoiden sijasta, mutta tämä voidaan toistaa ja käyttää monissa paikoissa, joissa myös silmukoita voidaan käyttää. Joskus siirtyminen for-silmukalle on parempi vaihtoehto, varsinkin jos koodi on monimutkainen, mutta monissa tapauksissa luettelon ymmärtäminen tekee koodaamisesta helpompaa ja nopeampaa.

Alla on taulukko, joka sisältää joitain luettelotoimintoja ja -menetelmiä sekä niiden kuvauksia.

Sisäänrakennetut toiminnot

TOIMINTA KUVAUS
Pyöristää() Pyöristää argumenttina välitetyn määrän tiettyyn lukumäärään ja palauttaa liukuluvun arvon
Min () palauttaa tietyn luettelon minimielementin
Enintään () palauttaa tietyn luettelon maksimielementin
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, ovatko kaikki luettelon osat totta vai eivät
Lambda Lauseke, joka voi esiintyä paikoissa, joissa def (funktioiden luomista varten) ei ole syntaktinen, luettelolitraalin sisällä tai funktion kutsun argumentit
Kartta() palauttaa luettelon tuloksista, kun annettua funktiota on sovellettu tietyn iteroitavan osaan
Kerää () käytä tiettyä argumentissaan lähetettyä funktiota kaikkiin luetteloelementteihin palauttaa luettelon, joka sisältää välitulokset
Summa() Palauttaa luettelon kaikkien numeroiden summan
CMP () Tätä käytetään kahden luettelon vertaamiseen ja palautetaan 1, jos ensimmäinen luettelo on suurempi kuin toinen luettelo.
Lisää Lisää elementti luetteloon tietyssä paikassa

Luettele menetelmät

TOIMINTA KUVAUS
Liitä () Lisää uuden kohteen luettelon loppuun
Asia selvä() Poistaa kaikki kohteet luettelosta
Kopio() Palauttaa kopion alkuperäisestä luettelosta
Pidennä () Lisää useita kohteita luettelon loppuun
Kreivi() Palauttaa luettelossa olevan tietyn kohteen esiintymien määrän
Indeksi() Palauttaa luettelon tietyn elementin hakemiston
Pop() Poistaa kohteen tietyn hakemiston luettelosta (poista sijainnin mukaan)
Poista() Poistaa määritetyn kohteen luettelosta (poista arvon mukaan)
Käänteinen() Paikallinen peruutusmenetelmä, joka muuttaa luettelon elementtien järjestystä

Yhteenveto

  • Lista on täsmälleen miltä se kuulostaa, kontti, joka sisältää erilaisia ​​Python-objekteja, jotka voivat olla kokonaislukuja, sanoja, arvoja jne.
  • Python-luettelot voivat olla homogeenisia, eli ne voivat sisältää samantyyppisiä objekteja; tai heterogeeninen, joka sisältää erityyppisiä esineitä.
  • Luetteloiden sisäisten arvojen käyttämiseen voidaan käyttää luetteloiden sisällä olevien objektien hakemistoa.
  • Luettelon viipalointi on menetelmä luettelon osajoukon jakamiseksi, ja tähän käytetään myös luettelo-objektien indeksejä.
  • Kolme tapaa poistaa luetteloelementit 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.
  • Python-ohjelman silmukointimenetelmä voidaan suorittaa usealle tietoluettelon elementille samanaikaisesti.
  • Luettelon ymmärtäminen on Python-toimintoa, jota käytetään luomaan uusia sekvenssejä (kuten luetteloita, sanakirjoja jne.) Käyttämällä jo luotuja sekvenssejä.