Listaadatok kezelése

Befejeződött

Előfordulhat, hogy a lista különböző részeivel kell dolgoznia. Tegyük fel például, hogy van egy lista, amely több hónap csapadékmennyiségét tartalmazza. Az ilyen típusú adatok megfelelő elemzéséhez előfordulhat, hogy három hónap alatt esőt kell keresnie. Vagy érdemes lehet rendezni a listát, hogy a legtöbb eső, hogy a legkevésbé.

A Python robusztus támogatást nyújt az adatok listákban való használatához. Ez a támogatás magában foglalja az adatok szeletelését (csak egy rész vizsgálatát) és a rendezést.

Szeletlisták

A lista egy részét egy szelet használatával is lekérheti. A szeletek szögletes zárójeleket használnak, de egyetlen elem helyett a kezdő és záró indexeket használják. Ha szeletet használ, létrehoz egy új listát, amely a kezdő indexnél kezdődik, és a záró index előtt végződik (és nem tartalmazza).

A bolygók listája nyolc elemből áll. A Föld a harmadik a listán. A bolygók Föld előtti lekéréséhez használjon egy szeletet a 0-tól kezdődő és 2-nél végződő elemek lekéréséhez:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets_before_earth = planets[0:2]
print(planets_before_earth)

Kimeneti: ['Mercury', 'Venus']

Figyelje meg, hogy a Föld nem szerepel a listán. Ennek az az oka, hogy az index a záró index előtt ér véget.

Ahhoz, hogy az összes bolygó a Föld után induljon a harmadiknál, és menjen a nyolcadikra:

planets_after_earth = planets[3:8]
print(planets_after_earth) 

Kimeneti: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

A példában a Neptune jelenik meg. Ennek az az oka, hogy a Neptune indexe azért van, mert az 7indexelés a következő időpontban 0kezdődik: . Mivel a záró index az volt 8, az utolsó értéket is tartalmazza. Ha nem helyezi a leállítási indexet a szeletbe, a Python feltételezi, hogy a lista végére szeretne lépni:

planets_after_earth = planets[3:]
print(planets_after_earth)

Kimeneti: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

Fontos

A szeletek új listát hoznak létre. Nem módosítja az aktuális listát.

Listák csatlakoztatása

Látta, hogyan oszthat fel listákat szeletekkel, de mi a helyzet azzal, ha újra összekapcsolja őket?

Két lista összekapcsolásához használja a másik operátort (+) két listával egy új lista visszaadásához.

A Jupiter 79 ismert holdja van. A négy legnagyobb az Io, az Europa, a Ganymede és a Callisto. Ezeket a holdakat galileai holdaknak nevezik, mivel Galileo Galilei 1610-ben a teleszkópjával fedezte fel őket. Közelebb a Jupiterhez, mint a Galileai csoport az Amalthea csoport. A Metis, az Adrastea, az Amalthea és a Thebe holdakból áll.

Hozzon létre két listát. Töltse ki az első listát a négy Amalthea hold, a második lista a négy galileai hold. Összekapcsolhatja + őket egy új lista létrehozásához:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Kimeneti: The regular satellite moons of Jupiter are ['Metis', 'Adrastea', 'Amalthea', 'Thebe', 'Io', 'Europa', 'Ganymede', 'Callisto']

Fontos

A listákhoz való csatlakozás új listát hoz létre. Nem módosítja az aktuális listát.

Listák rendezése

Lista rendezéséhez használja a .sort() lista metódusát. A Python betűrendbe rendezi a sztringek listáját, és számsorrendbe rendezi a számokat:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort()
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Kimeneti: The regular satellite moons of Jupiter are ['Adrastea', 'Amalthea', 'Callisto', 'Europa', 'Ganymede', 'Io', 'Metis', 'Thebe']

Ha fordított sorrendben szeretne rendezni egy listát, hívja fel .sort(reverse=True) a listában a következőt:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort(reverse=True)
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Kimeneti: The regular satellite moons of Jupiter are ['Thebe', 'Metis', 'Io', 'Ganymede', 'Europa', 'Callisto', 'Amalthea', 'Adrastea']

Fontos

A használat sort módosítja az aktuális listát.