Pythoni viilutähiste mõistmine: põhjalik juhend

Python

Python Slice notation valdamine

Pythoni viilude märkimine on võimas funktsioon, mis võimaldab teil pääseda juurde loendi, stringi või mis tahes muu järjestuse tüübi teatud osadele. Mõistes, kuidas seda tähistust kasutada, saate andmeid tõhusalt töödelda ja uusi alamhulki hõlpsalt luua. Selles artiklis käsitletakse lõikude märkimise mehhanismi, pakkudes selgeid näiteid ja selgitusi.

Olenemata sellest, kas töötate lihtsate lõikudega, nagu „a[:]”, või keerukamate mustritega, nagu „a[x:y:z]”, võib viilutamise läbi ja lõhki tundmine teie kodeerimisoskusi märkimisväärselt parandada. Uurime, kuidas lõigud töötavad, miks need ülempiirist välja jäävad ja kuidas saate seda funktsiooni oma Pythoni projektides kasutada.

Käsk Kirjeldus
a[x:y:z] Loob loendist "a" lõigu, mis algab indeksist "x" kuni "y" sammuga "z".
a[:] Loob lõigu kogu loendist "a" algusest lõpuni.
a[::2] Loob loendist "a" lõigu, mis sisaldab iga teist elementi.
b[1:7:2] Loob loendist „b” lõigu indeksist 1 kuni 6, sammudes 2 kaupa.
b[::3] Loob lõigu loendist „b”, mis sisaldab iga kolmandat elementi.
c[1:3] = ['x', 'y'] Asendab loendis „c” olevad elemendid indeksist 1 kuni 2 tähega „x” ja „y”.
c[:2] = [1, 2, 3] Asendab loendi c esimesed kaks elementi [1, 2, 3]-ga.
c[3:] = [7, 8, 9] Asendab loendi c elemendid indeksist 3 kuni lõpuni elemendiga [7, 8, 9].
d[1:3] Loob loendist „d” lõigu indeksist 1 kuni 2.

Python Slice Notation'i uurimine

Ülaltoodud skriptid illustreerivad erinevaid viise, kuidas kasutada loenditega manipuleerimiseks Pythoni lõikude tähistust. Esimene skript demonstreerib põhilisi viilutamiskäske, näiteks , mis loob indeksist alustava lõigu juurde sammuga z. See on kasulik loendi konkreetsetele elementidele tõhusaks juurdepääsuks. Käsk loob kogu loendist lõigu, mis võrdub loendi kopeerimisega. Kasutades võimaldab valida loendis iga teise elemendi, muutes elementide vahelejätmise lihtsaks.

Teises skriptis uurime viilutamist astmeväärtustega, näiteks ja , mis on abiks kohandatud lõikude loomisel. Kolmas skript keskendub loendilõikudega määramisele. Näiteks, asendab elemendid indeksist 1 kuni 2 tähtedega "x" ja "y", näidates, kuidas saab lõike kasutada loendi osade muutmiseks. Lõplik skript näitab ülemise piiri eksklusiivsust, kus d[1:3] loob lõigu indeksist 1 kuni 2, jättes välja elemendi indeksi 3 juures.

Pythoni viilutamise märge: põhitõdede mõistmine

Pythoni skript viilutamise näidete jaoks

# Example 1: Basic slicing
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
slice1 = a[2:5]  # [2, 3, 4]
slice2 = a[:4]   # [0, 1, 2, 3]
slice3 = a[4:]   # [4, 5, 6, 7, 8, 9]
slice4 = a[::2]  # [0, 2, 4, 6, 8]
print(slice1)
print(slice2)
print(slice3)
print(slice4)

Etappväärtustega lõikude loomine

Pythoni skript etappidega lõikude loomiseks

# Example 2: Slicing with step value
b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
slice5 = b[1:7:2]  # ['b', 'd', 'f']
slice6 = b[::3]    # ['a', 'd', 'g']
slice7 = b[1::2]   # ['b', 'd', 'f', 'h']
print(slice5)
print(slice6)
print(slice7)


Määramine loendilõikudega

Pythoni skript viilude abil määramiseks

# Example 3: Assigning new values to slices
c = [10, 20, 30, 40, 50]
c[1:3] = ['x', 'y']  # [10, 'x', 'y', 40, 50]
c[:2] = [1, 2, 3]    # [1, 2, 3, 'y', 40, 50]
c[3:] = [7, 8, 9]    # [1, 2, 3, 7, 8, 9]
print(c)





Ülemine ainuõigus osades

Pythoni skript, mis näitab ülemist piiri ainuõigust

# Example 4: Understanding upper-bound exclusivity
d = [5, 10, 15, 20, 25, 30]
slice8 = d[1:3]  # [10, 15]
slice9 = d[:4]   # [5, 10, 15, 20]
slice10 = d[2:]  # [15, 20, 25, 30]
print(slice8)
print(slice9)
print(slice10)


Sukeldumine Python Slice notationi sügavamale

Üks Pythoni viilude märkimise aspekt, mida sageli tähelepanuta jäetakse, on selle võime käsitleda negatiivseid indekseid. Negatiivsed indeksid võimaldavad teil loendi lõpust välja lõigata, pakkudes paindlikku võimalust elementidele vastupidises järjekorras juurde pääseda. Näiteks, tagastaks elemendid alates kolmandast kuni viimaseni kuni viimase elemendini, kuid ei sisalda seda. See võib olla eriti kasulik selliste ülesannete puhul nagu loendi ümberpööramine või viimaste elementide hankimine ilma loendi pikkust teadmata.

Teine võimas funktsioon on võimalus kasutada lõikeid mitmemõõtmelistes loendites või massiivides. Kahemõõtmelises loendis saate alamloendite eraldamiseks või isegi massiivi konkreetsete jaotiste muutmiseks kasutada lõikude tähistust. Näiteks, lõikaks 2D-massiivi kaks esimest rida ja veerge üks kuni kaks. Nende täiustatud viilutamistehnikate mõistmine võib oluliselt parandada teie võimet Pythonis andmestruktuuridega tõhusalt manipuleerida.

  1. Kuidas töötada?
  2. See loob indeksist lõigu juurde sammuga .
  3. Mis teeb teha?
  4. See tagastab kogu loendi koopia.
  5. Kuidas valida loendist iga teine ​​element?
  6. Kasuta iga teise elemendi valimiseks.
  7. Kuidas asendada loendis elemente viilude abil?
  8. Kasuta konkreetsete elementide asendamiseks.
  9. Mis on viilutamise ülemine ainuõigus?
  10. See tähendab, et lõpp-indeks ei sisaldu osas.
  11. Kas ma saan kasutada viiludes negatiivseid indekseid?
  12. Jah, negatiivsed indeksid võimaldavad teil loendi lõpust välja lõigata.
  13. Kuidas viilud kahemõõtmeliste loenditega töötavad?
  14. Ridade ja veergude viiludeks saate kasutada .
  15. Mis teeb tagasi?
  16. See tagastab elemendid alates kolmandast kuni viimaseni.
  17. Kuidas saan loendit viilude abil ümber pöörata?
  18. Kasutage nimekirja tagasipööramiseks.

Pythoni viilutähiste kokkuvõte

Kokkuvõtteks võib öelda, et Pythoni viilutähiste valdamine avab mitmesugused võimsad andmetöötlustehnikad. Olenemata sellest, kas pääsete juurde elementidele, loote uusi alamloendeid või muudate olemasoleva loendi osi, on viilutamine puhas ja tõhus viis järjestustega töötamiseks. Võimalus kasutada samme ja negatiivseid indekseid suurendab veelgi selle mitmekülgsust.

Pythoniga töötades avastate, et viilutamise kindel arusaam on hindamatu. See lihtsustab paljusid ülesandeid, muutes teie koodi loetavamaks ja kokkuvõtlikumaks. Harjutage erinevate viilutamistehnikate kasutamist, et omandada selles Pythoni programmeerimise olulises aspektis vilumus.