Python

Luettele ymmärrykset Pythonissa

Luettele ymmärrykset Pythonissa
Luettelon ymmärtämistä käytetään usein Pythonissa yksirivisten lauseiden kirjoittamiseen, jotka luovat uuden luettelon tai sanakirjan silmukoimalla iteroitavan objektin yli. Tässä artikkelissa kerrotaan, kuinka luettelokäsitteitä käytetään Pythonissa, aloittaen perustiedot siitä, kuinka silmukat toimivat Pythonissa.

Loopille Pythonissa

Pythonin silmukalauseke iteroi peräkkäin minkä tahansa objektin, luettelon, merkkijonon jne. Jäsenet. Verrattuna muihin ohjelmointikieliin, sen syntakse on paljon puhtaampi eikä vaadi iterointivaiheiden määrittämistä manuaalisesti ja iteraation aloittamista. Vaikka on olemassa tapoja tehdä sen käyttäytymisestä sama kuin muut ohjelmointikielet (ei käsitellä tässä artikkelissa). Voit myös hallita silmukoita jonkin verran käyttämällä lauseita, kuten jatka, tauko, välitä jne. Alla on yksinkertainen esimerkki silmukasta Pythonissa:

x: lle alueella (10):
tulosta (x)

Yllä oleva for-silmukka tulostaa kymmenen numeroa, jotka alkavat 0: sta ja päättyvät 9: ään.

Luettelo Ymmärtämykset

Luettelon ymmärtäminen ei ole muuta kuin lyhyt / tiivis tapa kirjoittaa monirivi silmukoille yhden linjan lauseessa. Alla oleva esimerkki luettelon ymmärtämisestä luo uuden luettelon nimellä [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] sisällyttämällä siihen kaikki x: n arvot.

numerot = [x x: lle alueella (10)]
tulosta (numerot)

Huomaa, että luettelon ymmärtäminen luo aina uuden luettelon eikä muokkaa lausekkeessa käytettyjä alkuperäisiä iterableja. Tyypillisessä luettelon ymmärtämislausekkeessa on oltava "for" -lauseke, ja sen jälkeen voi seurata ehdollisia lauseita "if" ja "else". Ilman luettelon ymmärtämistä yllä oleva esimerkki kirjoitetaan seuraavasti:

numerot = []
x: lle alueella (10):
numerot.liitä (x)
tulosta (numerot)

Suorituskyky ja luettavuus

Luettelon ymmärtäminen on nopeampaa kuin silmukoille. Ellet kuitenkaan toista satoja tuhansia kohteita, et huomaa suuria suorituskyvyn parannuksia. Vaikka luettelon ymmärtäminen tarjoaa tiiviin tavan kirjoittaa silmukoille, monimutkaiset lausekkeet voivat johtaa koodin huonoon luettavuuteen ja lisääntyneeseen sanallisuuteen. On tärkeää, että koodi on luettavissa, ellei maksimaalisen suorituskyvyn saavuttaminen ole ehdottoman välttämätöntä ohjelmallesi.

Esimerkki: Luettelokäsitysten syntaksin käyttäminen sanakirjoissa ja sarjoissa

Python-sanakirja on kokoelma elementtejä, jotka on määritetty avainarvopareina, kun taas joukko on kokoelma yksilöllisiä arvoja, joissa kopioita ei sallita. Luettelon ymmärtämistä voidaan käyttää myös Python-sanakirjoissa ja sarjoissa. Syntaksi eroaa hieman, sen sijaan, että kääritään lauseke neliönmuotoisiin aaltosulkeisiin, sinun on nyt käytettävä kiharoita. Saat myös uuden sanakirjan / asetetun objektin uuden luettelon sijaan.

data = "kaupunki": "new york", "nimi": "john doe"
formatted_data = k: v.otsikko () k: lle, v tiedoissa.kohteet ()
tulosta (alustettu_tiedot)

Yllä oleva esimerkki muuntaa merkkijonon arvot otsikkotunnuksiksi ja luo uuden sanakirjan nimeltä "formatted_data", jonka tulos on: 'city ":' New York ',' name ':' John Doe '. Voit myös muuttaa sanakirjaa / asettaa paikalleen määrittämällä olemassa olevan sanakirjamuuttujan vasemmalla puolella.

data = "kaupunki": "new york", "nimi": "john doe"
data = k: v.otsikko () k: lle, v tiedoissa.kohteet ()
tulosta (data)

Ilman sanakirjan ymmärtämistä koodi näyttäisi tältä:

data = "kaupunki": "new york", "nimi": "john doe"
formatted_data =
arvolle k, v tiedoissa.kohteet ():
muotoiltu_tiedo [k] = v.otsikko ()
tulosta (alustettu_tiedot)

Koska sarjoissa ei ole avainarvopareja, joukon ymmärtäminen voidaan määritellä samalla tavalla kuin luettelon ymmärtäminen. Ainoa ero on kiharoiden kiinnikkeiden käyttö.

Esimerkki: Useita silmukoille luettelonäkymässä

Edellä mainittu esimerkki luettelon ymmärtämisestä on perusasetus ja siinä käytetään yhtä "for" -lausetta. Alla on esimerkki, joka käyttää useita silmukoille ja ehdollista "jos" -lausetta.

adjektiivit = ["Disco", "Eoan", "Focal", "Artful"]
eläimet = ["Dingo", "Ermine", "Fossa", "Majava"]
koodinimet = [x + "" + y x: lle eläimien y-adjektiivissa, jos y.startswith (x [0])]
tulosta (koodinimet)

Koodissa näkyy ['Disco Dingo', 'Eoan Ermine', 'Focal Fossa']. Kaksi silmukoita varten kulkee "adjektiivien" ja "eläinten" luetteloiden yli ja niiden jäsenet liitetään yhteen välilyönnillä, vain jos molempien sanojen ensimmäinen kirjain on sama. Ilman luettelon ymmärtämistä koodi näyttää tältä:

adjektiivit = ["Disco", "Eoan", "Focal", "Artful"]
eläimet = ["Dingo", "Ermine", "Fossa", "Majava"]
koodinimet = []
x: lle adjektiivissa:
y eläimillä:
jos y.startswith (x [0]):
koodinimet.liitä (x + "" + y)
tulosta (koodinimet)

Esimerkki: Luettelon ymmärtäminen if-else -lausekkeella

Alla olevassa esimerkissä näkyy if- ja else-lauseiden käyttö luettelonäkymissä.

numero_lista = [1, 2, 3, 4]
toinen_lista = [5, 6, 7, 8]
tulos = [Tosi, jos (x + y)% 2 == 0 muuta Väärä x: lle numerolistalla y: lle toisessa luettelossa]
tulosta (tulos)

Kun selataan kahta luetteloa, yllä oleva luettelon ymmärtäminen tarkistaa, onko elementtiparin summa tasainen vai ei. Yllä olevan koodin suorittaminen näyttää [True, False, True, False, False, True, False, True, True, False, True, False, False, True, False, True]. Ilman luettelon ymmärtämistä koodi näyttää tältä:

numero_lista = [1, 2, 3, 4]
toinen_lista = [5, 6, 7, 8]
tulos = []
x: lle numeroluettelossa:
y: lle toisessa luettelossa:
jos (x + y)% 2 == 0:
tulos.liitä (True)
muu:
tulos.liitä (väärä)
tulosta (tulos)

Johtopäätös

Luettelon ymmärtäminen tarjoaa mukavan tavan kirjoittaa puhtaita ja ytimekkäitä silmukka-lauseita. Ne voivat kuitenkin nopeasti muuttua monimutkaisiksi ja vaikeasti ymmärrettäviksi, jos käytetään useita silmukoita ja ehdollisia lauseita. Loppujen lopuksi se tulee ohjelmoijan mukavustasoon, mutta yleensä on hyvä kirjoittaa selkeä, luettava ja helppo virheenkorjauskoodi sen sijaan, että käyttäisit liikaa lyhenteitä.

WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...