Python Loendi mõistmine: lisamine, sortimine, pikkus

⚡ Nutikas kokkuvõte

A Python list on muudetav konteiner, mis hoiab nurksulgudes olevaid objekte, näiteks numbreid ja stringe. Siin õpid, kuidas loendeid avada, viilutada, värskendada, kustutada, täiendada, sorteerida ja tsükliga läbi käia ning kuidas loendite mõistmine toimib.

  • ???? Mis see on: A Python list on muudetav, järjestatud konteiner, mis on kirjutatud nurksulgudesse.
  • 🔢 Indekseerimine: Juurdepääs üksustele indeksi järgi ja negatiivsete indeksite kasutamine lõpust lugemiseks.
  • ✂️ Viilutamine: Lõika alamloend lõiguks loendi algväärtus list[start:end] abil, mis on ülempiirilt välistav.
  • 🛠️ Meetodid: append(), pop(), remove(), reverse(), sort() ja palju muud.
  • Arusaamad: Loendi mõistmise abil luuakse uusi loendeid ühes lühikeses ja kiires reas.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad, näiteks Copilot, genereerivad loendi- ja arusaadavuskoodi koheselt.

Python Loendi mõistmine

Mis on a Python Nimekiri?

Loend on täpselt see, nagu see kõlab, konteiner, mis sisaldab erinevaid Python objektid, mis võivad olla täisarvud, sõnad, väärtused jne. See on massiivi ekvivalent teistes programmeerimiskeeltes. Seda tähistatakse nurksulgudega (ja see on üks atribuutidest, mis eristab seda sulgudega eraldatud korteežidest). See on ka muutuv, st seda saab muuta või värskendada; erinevalt korteežidest, mis on muutumatud.

Näited Python loetleb:

Python 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 on järgmised:

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 on järgmised:

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

Juurdepääs väärtustele loendites

Loendite väärtustele juurde pääsemiseks saab kasutada loendis olevate objektide indeksit. Indeks sisse Python loendid viitab elemendi asukohale 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 juurdepääsemiseks kasutage järgmist:

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

Loendi viimasele liikmele pääseb juurde ka indeksi -1 abil. Näiteks

list[-1] = 20

Python Loendi viilutamine

Loendi viilutamine on meetod loendi alamhulga tükeldamiseks ja selleks kasutatakse ka loendiobjektide indekseid. Näiteks kasutades sama ülaltoodud loendi 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).

Python loendid on ülemise piiriga välistavad ja see tähendab, et tavaliselt ignoreeritakse loendi lõikamise ajal viimast indeksit. Sellepärast

list[2:-1] = [30, 5.3]

, mitte [30, 5.3, 20]. Sama kehtib ka kõigi teiste ülaltoodud loendi viilutamise näidete kohta.

Nimekirjade värskendamine

Oletame, et teil on loend = [füüsika, keemia, matemaatika] ja soovite muuta loendiks [bioloogia, keemia, matemaatika], muutes tõhusalt indeksi 0 liiget. Seda saab hõlpsasti teha, määrates selle indeksi uus liige, mida soovite.

See on,

list = [physics, chemistry, mathematics]
    list[0] = biology
    print(list)

Väljund: [bioloogia, keemia, matemaatika]

See asendab indeksi 0 liikme (füüsika) uue soovitud väärtusega (keemia). Seda saab teha loendi mis tahes liikme või alamhulga jaoks, mida soovite muuta.

Toon veel ühe näite; oletame, et teil on loend nimega täisarvud ja mis sisaldab numbreid [2, 5, 9, 20, 27]. Selles loendis oleva 5 asendamiseks 10-ga saate seda teha järgmiselt:

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

>>> [2, 10, 9, 20, 27]

Täisarvude loendi viimase liikme, milleks on 27, asendamiseks vaba numbriga, näiteks 30.5, kasutage järgmist:

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

>>> [2, 5, 9, 20, 30.5]

Loendi elementide kustutamine

On 3 Python meetodid loendi elementide kustutamiseks: list.remove(), list.pop() ja operaator del. Eemaldamismeetod võtab konkreetse eemaldatava elemendi argumendina, pop ja del aga eemaldatava elemendi indeksi argumendina. Näiteks:

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

3 (esimese elemendi) loendist kustutamiseks võite kasutada järgmist:

  • list.eemalda(3) või
  • list.pop[0] või
  • del list[0]

Et kustutada loendist 8, üksuse indeksis 3, võite kasutada järgmist:

  • list.remove(8) või
  • list.pop[3]

Loendielementide lisamine

Elementide lisamiseks loendisse kasutatakse lisamismeetodit 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"]

Loetlege sisseehitatud funktsioonid (meetodid)

Järgnev on loend sisseehitatud funktsioonide ja meetodite loendist koos nende kirjeldustega:

  • len (loend): see annab väljundina loendi pikkuse. Näiteks:
numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
  • max (loend): tagastab loendis oleva üksuse maksimaalse väärtusega. Näiteks:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • min(loend): tagastab loendis oleva üksuse minimaalse väärtusega. Näiteks:
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
  • nimekiri (korteis): teisendab korteežiobjekti loendiks. Näiteks;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
  • list.lisa(element): lisab elemendi loendisse. Näiteks;
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • list.pop(indeks): eemaldab loendist määratud indeksi elemendi. Näiteks;
numbers = [2, 5, 7, 9, 15]
numbers.pop(2)
print(numbers)
>>> [2, 5, 9, 15]
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
  • loend.tagurpidi(): pöörab loendi objektid ümber. Näiteks;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • list.indeks(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 kõik väärtused on 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 ei ole arv, näiteks string, siis summameetod ei tööta. Saate veateate, öeldes: "Tüüpviga: toetamata operandi tüüp(id) + jaoks: 'int' ja 'str'

  • list.sort(): täisarvude, ujukomanumbrite või stringide loendi järjestamiseks 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]

Teine 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]

Stringide loendit saab sortida ka tähestikulises järjekorras või stringide pikkuse järgi. Näiteks;

# 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']

Sama loendi saame sortida tähestiku järjekorras, kasutades stringe.

Looping nimekirjade kaudu

Looping Nimekirju saab läbi vaadata samamoodi nagu iga teist tualettruumi.ping funktsiooni sisse Python. Nii saab meetodi teostada korraga mitme loendi elemendiga. Näiteks:

loend = [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 + 5
        print(elem)
    
    >>>>15
        25
        35
        45
        55
        65
        75

Loendi kolme esimese elemendi sirvimiseks ja kõigi kustutamiseks;

for elem in list[:3]:
    list.remove(elem)

    >>>list = [40, 50, 60, 70]

Läbi 3rd (indeks 2) loendi viimasele elemendile ja lisage need uude loendisse 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 tegemiseks rakendada mis tahes meetodit või funktsiooni. Saate kas loendi kõigist liikmetest või loendi alamhulgast läbi vaadata, kasutades loendi viilutamist.

Loetelu mõistmised Python

Loendi mõistmised on Python funktsioonid, mida kasutatakse uute jadade (nt loendid, sõnastikud jne) loomiseks, kasutades juba loodud jadasid. Need aitavad vähendada pikemaid silmuseid ning muudavad teie koodi hõlpsamini loetavaks ja hooldatavaks.

Näiteks; oletame, et tahtsite luua loendi, mis sisaldab kõigi arvude ruutusid vahemikus 1 kuni 9:

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]

Sama toimimiseks loendi mõistmisega toimige järgmiselt.

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 eespool näha, on koodi kirjutamine loendimõistmise abil palju lühem kui traditsiooniliste silmuste jaoks ja on ka kiirem. See on vaid üks näide loendi mõistmise kasutamisest for-tsüklite asemel, kuid seda saab korrata ja kasutada paljudes kohtades, kus saab kasutada ka for-silmuseid. Mõnikord on for-tsükli kasutamine parem valik, eriti kui kood on keeruline, kuid paljudel juhtudel muudab loendi mõistmine teie kodeerimise lihtsamaks ja kiiremaks.

Allpool on tabel, mis sisaldab mõningaid loendi funktsioone ja meetodeid ning nende kirjeldusi.

Sisseehitatud funktsioonid

FUNCTION KIRJELDUS
Round () Ü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
Loetlema() See sisseehitatud funktsioon genereerib nii itereeritavas üksuste väärtused kui ka indeksid, nii et me ei pea käsitsi loendama
Filter() testib, kas loendi iga element on tõene või mitte
Lambda Avaldis, mis võib esineda kohtades, kus def (funktsioonide loomiseks) ei ole süntaktiline, loendi literaali või funktsiooni kutseargumentide sees
Kaart () tagastab tulemuste loendi pärast antud funktsiooni rakendamist antud itereeritava igale üksusele
Koguma () selle argumendis edastatud konkreetse funktsiooni rakendamine kõigile loendielementidele tagastab loendi, mis sisaldab vahetulemusi
Summa() Tagastab kõigi loendis olevate arvude summa
Cmp() Seda kasutatakse kahe loendi võrdlemiseks ja tagastab 1, kui esimene loend on teisest suurem.
Sisesta Sisestage element teatud positsiooni loendisse

Loetlege meetodid

FUNCTION KIRJELDUS
Lisa () Lisab loendi lõppu uue üksuse
Tühjenda () Eemaldab loendist kõik üksused
Kopeeri () Tagastab algse loendi koopia
Laienda () Lisage loendi lõppu palju üksusi
Count() Tagastab loendis konkreetse üksuse esinemiste arvu
index() Tagastab loendi konkreetse elemendi indeksi
Pop() Kustutab üksuse konkreetse indeksi loendist (kustutage positsiooni järgi)
Eemalda () Kustutab loendist määratud üksuse (kustuta väärtuse järgi)
Reverse() Kohapealne ümberpööramise meetod, mis muudab loendi elementide järjekorra vastupidiseks

KKK

Loend on muudetav, järjestatud konteiner, mis on kirjutatud nurksulgudesse ja mis saab hoida erinevaid objekte, näiteks täisarve, stringe ja ujukomaarve. See on Pythonmassiivi versioon.

Alamloendi saamiseks kasutage loendit list[start:end]. Viilutamine on ülemise piiri välistav, seega lõppindeksit ei kaasata. Alguse või lõpu väljajätmine kasutab loendi piire.

Lõppu elemendi lisamiseks kasuta append() ja mitme lisamiseks extend() funktsiooni. Elementide eemaldamiseks kasuta remove() funktsiooni väärtuse järgi või pop() ja del funktsiooni indeksi järgi.

Kohapeal kasvavas järjekorras sortimiseks kutsu loend.sort(). Kahanevas järjekorras sortimiseks anna reverse=True või pikkuse järgi sortimiseks key=len.

Loendi mõistmine loob uue loendi ühele reale, näiteks [x**2 x jaoks vahemikus (1, 10)]. See asendab paljud for-tsüklid lühema, kiirema ja loetavama koodiga.

Tehisintellekti assistendid, näiteks GitHub Copilot, täidavad automaatselt loendimeetodeid, teisendavad for-tsüklid loendi mõistmiseks ja genereerivad sortimis- või filtreerimiskoodi lihtkeelse kirjelduse põhjal.

Jah. Tehisintellektil põhinevad tööriistad suudavad automatiseerida tsüklite muutmise arusaadavateks toiminguteks, soovitada õiget loendimeetodit ja märgistada ebaefektiivseid toiminguid, et teie loendikood kiiremini töötaks.

Loend on muudetav ja kasutab nurksulge, seega saate selle elemente muuta. Tuple on muutumatu ja kasutab sulgusid, seega selle sisu ei saa pärast loomist muuta.

Võta see postitus kokku järgmiselt: