1 2 3
4 5 6
7 8 9
Ez python listában legyen mondjuk ilyen:
>>> lista=[
... [1,2,3],
... [4,5,6],
... [7,8,9]]
... [1,2,3],
... [4,5,6],
... [7,8,9]]
Ha az "5" elemet el akarom érni, akkor ugye azt így teszem:
>>>lista[1][1]
5
Ezt a listát felfoghatjuk adatok sorba és oszlopba rendezett formájának. Mi van akkor, ha a sorokra van szükségem? Nos ez egyszerű, látható, hogy az első index a külső lista elemeit címzi, ezek az én mostani olvasatomban a sor adatok.
>>> lista[0]
[1, 2, 3]
>>> lista[1]
[4, 5, 6]
>>> lista[2]
[7, 8, 9]
[1, 2, 3]
>>> lista[1]
[4, 5, 6]
>>> lista[2]
[7, 8, 9]
De mi van akkor, ha én az oszlopokra vagyok kíváncsi?
Megáll a tudomány... :o
Csinálunk erre a célra egy függvényt!
A függvény nagyon egyszerű, annyit csinál hogy végigszalad a külső lista elemein, és mindegyik így kapott "sor"-ból kiveszi az 'oszlop' indexű elemet, amit egy listához fűz hozzá (eredmeny), majd beállítja ezt az eredménylistát visszatérési értéknek:
# oszlop.py def oszlop(lista,oszlop): eredmeny=[] for sor in lista: eredmeny.append(sor[oszlop]) return eredmeny
Ezt a függvényt egy 'oszlop.py' nevű fájlba mentettem el, így bármikor be tudom importálni, ha kell.
>>> from oszlop import *
>>> lista=[
... [1,2,3],
... [4,5,6],
... [7,8,9]
... ]
>>> lista
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> oszlop(lista,0)
[1, 4, 7]
>>> oszlop(lista,2)
[3, 6, 9]
Működik! Ujjé!
>>> print [x[0] for x in lista]
VálaszTörlés[1, 4, 7]
>>> print [x[2] for x in lista]
[3, 6, 9]
Most találtam rá erre a kis beépített függvényre az alapkönyvtár része. :-)
VálaszTörlés>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]