„Python“ sąrašas: supratimas, „apend“, „rūšiuoti“, „ilgis“, „atvirkštiniai“ PAVYZDŽIAI

Turinys:

Anonim

Kas yra „Python“ sąrašas?

Sąrašas yra būtent toks, koks jis skamba, konteineris, kuriame yra skirtingi „Python“ objektai, kurie gali būti sveiki skaičiai, žodžiai, reikšmės ir kt. Tai yra masyvo kitose programavimo kalbose atitikmuo. Ją žymi laužtiniai skliaustai (ir tai yra vienas iš atributų, skiriančių jį nuo skyrelių, kurie atskiriami skliausteliuose). Jis taip pat yra kintamas, tai yra, jį galima modifikuoti arba atnaujinti; skirtingai nei korekcijos, kurios yra nekintamos.

Šioje „python“ pamokoje sužinosite:

  • Kas yra „Python“ sąrašas?
  • „Python“ sąrašų pavyzdžiai:
  • Prieiga prie reikšmių sąrašuose
  • Sąrašo pjaustymas
  • Atnaujinami sąrašai
  • Ištrinami sąrašo elementai
  • Pridedami sąrašo elementai
  • Įtrauktų funkcijų (metodų) sąrašas
  • Peržiūrėkite sąrašus
  • Išvardykite supratimus

„Python“ sąrašų pavyzdžiai:

„Python“ sąrašai gali būti vienarūšiai, tai reiškia, kad juose gali būti to paties tipo objektai; arba nevienalytis, įskaitant skirtingų tipų objektus.

Vienarūšių sąrašų pavyzdžiai:

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]

Heterogeninių sąrašų pavyzdžiai:

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

Prieiga prie reikšmių sąrašuose

Norėdami pasiekti sąrašų reikšmes, galite naudoti sąrašų objektų rodyklę. Rodyklė „Python“ sąrašuose nurodo elemento padėtį tvarkomame sąraše. Pavyzdžiui:

list = [3, 22, 30, 5.3, 20]
  • Pirmosios vertės sąraše 3 yra indeksas 0
  • Antrosios vertės, 22, indeksas yra 1
  • Trečiosios vertės, 30, indeksas yra 2

ir taip toliau. Norėdami pasiekti kiekvieną iš sąrašo reikšmių, naudokite:

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

Paskutinį sąrašo narį taip pat galima pasiekti naudojant indeksą -1. Pavyzdžiui,

list[-1] = 20

Sąrašo pjaustymas

Sąrašo pjaustymas yra sąrašo pogrupio padalijimo metodas, tam taip pat naudojami sąrašo objektų indeksai. Pavyzdžiui, naudojant tą patį aukščiau pateiktą sąrašo pavyzdį;

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“ sąrašai yra viršutinės ribos išimtiniai, ir tai reiškia, kad paskutinis indeksas pjaustant sąrašus paprastai nepaisomas. Štai kodėl

list[2:-1] = [30, 5.3] 
, o ne [30, 5.3, 20]. Tas pats pasakytina apie visus kitus aukščiau pateiktus sąrašo pjaustymo pavyzdžius.

Atnaujinami sąrašai

Tarkime, kad jūs turite sąrašą = [fizika, chemija, matematika] ir norite pakeisti sąrašą į [biologija, chemija, matematika], veiksmingai pakeisdami narį prie 0 indekso. Tai galima lengvai padaryti priskyrus tą indeksą norimo naujo nario.

Tai yra,

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

Rezultatas: [biologija, chemija, matematika]

Tai pakeičia indekso 0 narį (fizika) nauja norima verte (chemija). Tai galima padaryti bet kuriam sąrašo nariui ar pogrupiui, kurį norite pakeisti.

Pateikti dar vieną pavyzdį; Tarkime, kad turite sąrašą, vadinamą sveikaisiais skaičiais ir kuriame yra skaičiai [2, 5, 9, 20, 27]. Norėdami pakeisti 5 tame sąraše 10, galite tai padaryti:

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

Paskutinį sveikųjų skaičių sąrašo narį, kuris yra 27, pakeisti nemokamu skaičiumi, pvz., 30,5, naudokite:

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

Ištrinami sąrašo elementai

Yra 3 „Python“ metodai, skirti ištrinti sąrašo elementus: list.remove (), list.pop () ir del operatorius. Metodas „Pašalinti“ nurodo, kad konkretus elementas turi būti pašalintas kaip argumentas, o „pop“ ir „Del“ elemento, kurį reikia pašalinti, indeksas yra argumentas. Pavyzdžiui:

sąrašas = [3, 5, 7, 8, 9, 20]

Norėdami ištrinti 3 (1-ąjį elementą) iš sąrašo, galite naudoti:

  • sąrašas.pašalinti (3) arba
  • list.pop [0] arba
  • ištrinti sąrašą [0]

Norėdami iš sąrašo ištrinti 8, 3 indekso elementą, galite naudoti:

  • sąrašas.pašalinti (8) arba
  • list.pop [3]

Pridedami sąrašo elementai

Norėdami pridėti elementų prie sąrašo, naudojamas metodas, kuris prideda elementą prie sąrašo pabaigos.

Pavyzdžiui:

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

Įtrauktų funkcijų (metodų) sąrašas

Toliau pateikiamas sąrašas integruotų funkcijų ir metodų su jų aprašais:

  • len (sąrašas): tai nurodo sąrašo, kaip išvesties, ilgį. Pavyzdžiui:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
  • max (sąrašas): grąžina elementą sąraše su didžiausia verte. Pavyzdžiui:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
  • min (sąrašas): grąžina elementą sąraše su minimalia verte. Pavyzdžiui:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
  • sąrašas (paketas): paverčia kelių objektų sąrašą sąrašą. Pavyzdžiui;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
  • list.append (elementas): prideda elementą prie sąrašo. Pavyzdžiui;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
  • list.pop (index): pašalina nurodyto indekso elementą iš sąrašo. Pavyzdžiui;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
  • list.remove (elementas): ištrina elementą iš sąrašo. Pavyzdžiui;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
  • list.reverse (): pakeičia sąrašo objektus. Pavyzdžiui;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
  • list.index (elementas): norint gauti sąrašo elemento indekso vertę. Pavyzdžiui;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
  • suma (sąrašas): gauti visų sąrašo reikšmių sumą, jei reikšmės yra visi skaičiai (sveiki skaičiai arba dešimtainiai skaičiai). Pavyzdžiui;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17

Jei sąraše yra elementas, kuris nėra skaičius, pvz., Eilutė, sumos metodas neveiks. Gausite klaidą sakydami: " TypeError : nepalaikomi operandai (-ai), skirti +: 'int' ir 'str'"

  • list.sort (): sutvarkyti sveikųjų skaičių, slankiojo kablelio skaičių ar eilučių sąrašą didėjimo arba mažėjimo tvarka. Pavyzdžiui:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]

Kitas pavyzdys:

values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]

Stygų sąrašas taip pat gali būti rūšiuojamas abėcėlės tvarka arba pagal eilučių ilgį. Pavyzdžiui;

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

Tą patį sąrašą galime surikiuoti abėcėlės tvarka, naudodami „eilutes“.

Peržiūrėkite sąrašus

Sąrašų peržiūra gali būti atliekama taip pat, kaip ir bet kuri kita „Python“ ciklo funkcija. Tokiu būdu metodas vienu metu gali būti atliekamas keliuose sąrašo elementuose. Pavyzdžiui:

sąrašas = [10, 20, 30, 40, 50, 60, 70].

Norėdami pereiti visus šio sąrašo elementus ir tarkime, prie kiekvieno elemento pridėkite 10:

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

Peržiūrėkite pirmuosius tris sąrašo elementus ir ištrinkite juos visus;

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

Kilpa per 3 rd (2 indekso) į paskutinį elementą sąraše, ir prideda juos į naują sąrašą, vadinamą 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]

Tokiu būdu bet kuris metodas ar funkcija gali būti taikoma sąrašo nariams atlikti tam tikrą operaciją. Galite pereiti per visus sąrašo narius arba per sąrašo pogrupį naudodami sąrašo pjaustymą.

Išvardykite supratimus

Sąrašų supratimas yra „Python“ funkcijos, kurios naudojamos kuriant naujas sekas (pvz., Sąrašus, žodynus ir kt.) Naudojant jau sukurtas sekas. Jie padeda sumažinti ilgesnes kilpas ir palengvina kodo skaitymą ir priežiūrą.

Pavyzdžiui; Tarkime, norėjote sukurti sąrašą, kuriame būtų visų skaičių nuo 1 iki 9 kvadratai:

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]

Norėdami tą patį padaryti supratę sąrašą:

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]

Kaip matyti aukščiau, kodo rašymas naudojant sąrašo supratimą yra daug trumpesnis nei tradicinio ciklo naudojimas, taip pat greitesnis. Tai tik vienas pavyzdys, kaip naudoti sąrašo supratimą vietoj kilpų, tačiau tai galima pakartoti ir naudoti daugelyje vietų, kur taip pat galima naudoti kilpas. Kartais geriau naudoti „for loop“, ypač jei kodas yra sudėtingas, tačiau daugeliu atvejų supratimas apie sąrašus jūsų kodavimą palengvins ir pagreitins.

Žemiau yra lentelė, kurioje pateikiamos kai kurios sąrašo funkcijos ir metodai bei jų aprašymai.

Integruotos funkcijos

FUNKCIJA APIBŪDINIMAS
Apvalus () Suapvalina skaičių, perduotą kaip argumentą, nurodytam skaitmenų skaičiui ir grąžina slankiojo kablelio vertę
Min. () grąžinti minimalų nurodyto sąrašo elementą
Maks. () grąžinti maksimalų nurodyto sąrašo elementą
len () Grąžina sąrašo ilgį
Surašyti () Ši įmontuota funkcija sukuria kartojamų elementų vertes ir indeksus, todėl mums nereikia skaičiuoti rankiniu būdu
Filtras() testuoja, ar kiekvienas sąrašo elementas teisingas, ar ne
Lambda Išraiška, kuri gali atsirasti tose vietose, kur def (funkcijoms kurti) nėra sintaksinė, sąrašo pažodžiui arba funkcijos iškvietimo argumentai
Žemėlapis () grąžina rezultatų sąrašą pritaikius nurodytą funkciją kiekvienam iteruojamo elemento elementui
Kaupti() taikyti tam tikrą argumente perduotą funkciją visiems sąrašo elementams pateikia sąrašą, kuriame yra tarpiniai rezultatai
Suma() Grąžina visų sąraše esančių skaičių sumą
CMP () Tai naudojama lyginant du sąrašus ir grąžina 1, jei pirmasis sąrašas yra didesnis nei antrasis sąrašas.
Įdėti Įterpkite elementą į sąrašą tam tikroje pozicijoje

Išvardykite metodus

FUNKCIJA APIBŪDINIMAS
Pridėti () Prie sąrašo pabaigos pridedamas naujas elementas
Išvalyti () Pašalina visus elementus iš sąrašo
Kopijuoti () Grąžina pradinio sąrašo kopiją
Pratęsti () Pridėkite daug elementų prie sąrašo pabaigos
Skaičius () Grąžina konkretaus sąrašo elemento atvejų skaičių
Indeksas() Grąžina konkretaus sąrašo elemento indeksą
Pop () Ištrina elementą iš konkretaus indekso sąrašo (ištrinti pagal poziciją)
Pašalinti () Ištrina nurodytą elementą iš sąrašo (ištrinti pagal vertę)
Atvirkštinė () Vietos keitimo metodas, pakeičiantis sąrašo elementų eiliškumą

Santrauka

  • Sąrašas yra tiksliai toks, koks jis skamba, konteineris, kuriame yra skirtingi „Python“ objektai, kurie gali būti sveiki skaičiai, žodžiai, reikšmės ir kt.
  • „Python“ sąrašai gali būti vienarūšiai, tai reiškia, kad juose gali būti to paties tipo objektai; arba nevienalytis, turintis įvairių tipų objektus.
  • Norėdami pasiekti sąrašų reikšmes, galite naudoti sąrašų objektų rodyklę.
  • Sąrašo pjaustymas yra sąrašo pogrupio padalijimo metodas, tam taip pat naudojami sąrašo objektų indeksai.
  • Trys sąrašo elementų ištrynimo būdai: 1) list.remove (), 2) list.pop () ir 3) del operatorius
  • Pridėti elementą naudojamas metodas „Pridėti“. Tai prideda elementą prie sąrašo pabaigos.
  • „Python“ programos ciklo metodas vienu metu gali būti atliekamas keliems duomenų sąrašo elementams.
  • Sąrašų supratimas yra „Python“ funkcijos, kurios naudojamos kuriant naujas sekas (pvz., Sąrašus, žodynus ir kt.) Naudojant jau sukurtas sekas.