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.