Mis on Pythoni loend?
Nimekiri on täpselt selline, nagu see kõlab, konteiner, mis sisaldab erinevaid Pythoni objekte, mis võivad olla täisarvud, sõnad, väärtused jne. See on samaväärne massiiviga teistes programmeerimiskeeltes. Seda tähistatakse nurksulgudes (ja see on üks atribuutidest, mis eristab seda sulgudega eraldatud paaridest). See on ka muutuv, see tähendab, et seda saab muuta või uuendada; erinevalt paaridest, mis on muutumatud.
Selles püthoni õpetuses saate teada:
- Mis on Pythoni loend?
- Näited Pythoni loenditest:
- Väärtustele juurdepääs loendites
- Loendi viilutamine
- Loendite värskendamine
- Loendielementide kustutamine
- Loendielementide lisamine
- Sisseehitatud funktsioonide (meetodite) loetelu
- Nimekirjade sirvimine
- Loetlege arusaamad
Näited Pythoni loenditest:
Pythoni loendid võivad olla homogeensed, mis tähendab, et need võivad sisaldada sama tüüpi objekte; või heterogeensed, sealhulgas erinevat tüüpi objektid.
Homogeensete loendite näited hõlmavad järgmist:
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]
Heterogeensete loendite näited hõlmavad järgmist:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Väärtustele juurdepääs loendites
Loenditesisestele väärtustele juurde pääsemiseks saab kasutada loendites olevate objektide indeksit. Index Pythoni loendites viitab elemendi positsioonile järjestatud loendis. Näiteks:
list = [3, 22, 30, 5.3, 20]
- Ülaltoodud loendi esimese väärtuse 3 indeks on 0
- Teise väärtuse, 22, indeks on 1
- Kolmanda väärtuse, 30, indeks on 2
ja nii edasi. Kõigile loendis olevatele väärtustele juurde pääsemiseks kasutage järgmist:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Loendi viimasele liikmele pääseb juurde ka indeksi -1 abil. Näiteks,
list[-1] = 20
Loendi viilutamine
Loendi viilutamine on loendi alamhulga jagamise meetod ja selleks kasutatakse ka loendi objektide indekseid. Näiteks kasutades sama ülaltoodud loetelu näidet;
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).
Pythoni loendid on ülemise piiriga eksklusiivsed ja see tähendab, et loendi viilutamise ajal viimast indeksit tavaliselt eiratakse. Sellepärast
list[2:-1] = [30, 5.3]ja mitte [30, 5.3, 20]. Sama kehtib kõigi teiste ülaltoodud loendi viilutamise näidete kohta.
Loendite värskendamine
Oletame, et teil on nimekiri = [füüsika, keemia, matemaatika] ja soovite loendi muuta [bioloogia, keemia, matemaatika], muutes liikme indeksis 0. Seda saab hõlpsasti teha, määrates selle indeksi uus liige, keda soovite.
See on,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Väljund: [bioloogia, keemia, matemaatika]
See asendab indeksis 0 (füüsika) oleva liikme uue soovitud väärtusega (keemia). Seda saab teha iga loendi liikme või alamhulga puhul, mida soovite muuta.
Toon veel ühe näite; Oletame, et teil on loend nimega täisarv ja sisaldab numbreid [2, 5, 9, 20, 27]. Selle loendi 5 asendamiseks kümnega saate seda teha järgmisega:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Täisarvude loendi viimase liikme (27) asendamiseks vaba numbriga, näiteks 30,5, kasutaksite järgmist:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Loendielementide kustutamine
Loendielementide kustutamiseks on 3 Pythoni meetodit: list.remove (), list.pop () ja operaator del. Eemaldamise meetod võtab konkreetse elemendi argumendina eemaldamise, samal ajal kui pop ja del võtavad argumendina eemaldatava elemendi indeksi. Näiteks:
loend = [3, 5, 7, 8, 9, 20]
3 (1. element) loendist kustutamiseks võite kasutada järgmist:
- list.remove (3) või
- list.pop [0] või
- kustuta loend [0]
Indeksi 3 üksuse 8 loendist kustutamiseks võite kasutada järgmist:
- list.remove (8) või
- list.pop [3]
Loendielementide lisamine
Elementide lisamiseks loendisse kasutatakse meetodit Lisa ja see lisab elemendi loendi lõppu.
Näiteks:
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"]
Sisseehitatud funktsioonide (meetodite) loetelu
Järgnevas loendis on sisseehitatud funktsioonide ja meetodite loetelu koos nende kirjeldustega:
- len (nimekiri): see annab väljundina loendi pikkuse. Näiteks:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (list): tagastab loendis oleva üksuse maksimaalse väärtusega. Näiteks:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (loend): tagastab loendis oleva elemendi minimaalse väärtusega. Näiteks:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- list (tuple): teisendab kahekordse objekti loendi. Näiteks;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): lisab elemendi loendisse. Näiteks;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (register): eemaldab loendis määratud indeksi elemendi. Näiteks;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): kustutab loendist elemendi. Näiteks;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): tühistab loendi objektid. Näiteks;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): loendis oleva elemendi indeksi väärtuse saamiseks. Näiteks;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- summa (loend): kõigi loendis olevate väärtuste summa saamiseks, kui väärtused on kõik arvud (täisarvud või kümnendkohad). Näiteks;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Kui loendis on mõni element, mis pole arv, näiteks string, ei tööta summa meetod. Võite saada vea öeldes: " TypeError : +: 'int' ja 'str' toetamata operandi tüüp (tüübid)"
- list.sort (): täisarvude, ujukomaarvude või stringide loendi korrastamiseks kasvavas või kahanevas järjekorras. Näiteks:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Veel üks näide:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
Stringiloendit saab sortida kas tähestiku järgi või stringide pikkuse järgi. Näiteks;
# 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']
Saame sorteerida sama loendi tähestikulises järjekorras, kasutades stringe.
Nimekirjade sirvimine
Loendite sirvimist saab teha samamoodi nagu mis tahes muud Pythoni silmusfunktsioonid. Nii saab meetodit korraga kasutada loendi mitmel elemendil. Näiteks:
loetelu = [10, 20, 30, 40, 50, 60, 70].
Selle loendi kõigi elementide sirvimiseks ja oletame, et lisage igale elemendile 10:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Loendi kolme esimese elemendi sirvimiseks ja nende kustutamiseks;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Et ahela kaudu 3 rd (indeks 2) viimase elemendi nimekirja ja nende lisamiseks uue loendi nimega 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]
Sel viisil saab loendi liikmetele konkreetse toimingu sooritamiseks rakendada ükskõik millist meetodit või funktsiooni. Loendi viilutamise abil saate liikuda läbi kõigi loendi liikmete või loendi alamhulga.
Loetlege arusaamad
Loendi mõistmine on Pythoni funktsioon, mida kasutatakse juba loodud järjestuste abil uute jadade (näiteks loendite, sõnastike jms) loomiseks. Need aitavad vähendada pikemaid tsükleid ning muudavad teie koodi hõlpsamini loetavaks ja hooldatavaks.
Näiteks; Oletame, et soovisite luua loendi, mis sisaldab kõigi arvude ruutu vahemikus 1 kuni 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]
Sama toimimine loendi mõistmisega:
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]
Nagu ülalpool näha, on loendi mõistmise abil koodi kirjutamine palju lühem kui traditsiooniline tsüklite jaoks ja on ka kiirem. See on vaid üks näide loendite mõistmise kasutamisest silmuste asemel, kuid seda saab korrata ja kasutada paljudes kohtades, kus saab kasutada ka silmuste jaoks. Mõnikord on for loopi jaoks parem valik, eriti kui kood on keeruline, kuid paljudel juhtudel muudab loendi mõistmine teie kodeerimise lihtsamaks ja kiiremaks.
Allpool on tabel, mis sisaldab loendi funktsioone ja meetodeid ning nende kirjeldusi.
Sisseehitatud funktsioonid
FUNKTSIOON | KIRJELDUS |
Ümmargune () | Ümardab argumendina edastatud arvu määratud arvu numbriteni ja tagastab ujukoma väärtuse |
Min () | tagastab antud loendi minimaalse elemendi |
Max () | tagastab antud loendi maksimaalse elemendi |
len () | Tagastab loendi pikkuse |
Loendage () | See sisseehitatud funktsioon genereerib itereeritavas üksuste väärtused ja indeksid, nii et me ei pea käsitsi loendama |
Filter () | testib, kas loendi iga element vastab tõele või mitte |
Lambda | Avaldis, mis võib ilmuda kohtades, kus def (funktsioonide loomiseks) pole süntaktiline, loendi literaali sees või funktsiooni kutsungargumendid |
Kaart () | tagastab tulemuste loendi pärast antud funktsiooni rakendamist antud iterable'i igale üksusele |
Kogunema () | Rakenda oma argumendis edastatud konkreetne funktsioon kõigile loendi elementidele tagastab loendi, mis sisaldab vahetulemusi |
Summa () | Tagastab loendis kõigi arvude summa |
CMP () | Seda kasutatakse kahe loendi võrdlemiseks ja tagastatakse 1, kui esimene loend on suurem kui teine loend. |
Sisesta | Sisestage element loendis konkreetses positsioonis |
Loetlege meetodid
FUNKTSIOON | KIRJELDUS |
Lisa () | Lisab loendi lõppu uue üksuse |
Kustuta () | Eemaldab loendist kõik üksused |
Kopeeri () | Tagastab koopia algsest loendist |
Laienda () | Lisage loendi lõppu palju üksusi |
Loend () | Tagastab loendis konkreetse üksuse esinemiste arvu |
Indeks () | Tagastab loendi konkreetse elemendi indeksi |
Pop () | Kustutab üksuse konkreetse registri loendist (kustuta positsiooni järgi) |
Eemalda () | Kustutab loendist määratud üksuse (kustuta väärtuse järgi) |
Tagurpidi() | Kohapealne ümberpööramismeetod, mis muudab loendi elementide järjekorra |
Kokkuvõte
- Nimekiri on täpselt see, nagu see kõlab, konteiner, mis sisaldab erinevaid Pythoni objekte, mis võivad olla täisarvud, sõnad, väärtused jne.
- Pythoni loendid võivad olla homogeensed, see tähendab, et need võivad sisaldada sama tüüpi objekte; või heterogeensed, mis sisaldavad erinevat tüüpi objekte.
- Loenditesisestele väärtustele juurde pääsemiseks saab kasutada loendites olevate objektide indeksit.
- Loendi viilutamine on loendi alamhulga jagamise meetod ja selleks kasutatakse ka loendi objektide indekseid.
- Kolm meetodit loendielementide kustutamiseks on: 1) list.remove (), 2) list.pop () ja 3) operaator del
- Elementide lisamiseks kasutatakse meetodit Lisa. See lisab elemendi loendi lõppu.
- Pythoni programmi tsüklimeetodit saab samaaegselt teostada mitmel andmeloendi elemendil.
- Loendi mõistmine on Pythoni funktsioon, mida kasutatakse juba loodud järjestuste abil uute jadade (näiteks loendite, sõnastike jms) loomiseks.