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