1. rész itt
A listák előállításához jó tudni az alábbi trükköt:
>>> lista=[1,2]*4
>>> lista
[1, 2, 1, 2, 1, 2, 1, 2]
>>> lista
[1, 2, 1, 2, 1, 2, 1, 2]
A listák összefűzésének ismerete is jól jöhet:
>>> lista1=[1,2,3]
>>> lista2=[4,5,6]
>>> lista3=lista1+lista2
>>> lista3
[1, 2, 3, 4, 5, 6]
>>> lista2=[4,5,6]
>>> lista3=lista1+lista2
>>> lista3
[1, 2, 3, 4, 5, 6]
Beszéljünk egy kicsit a tuple adattípusról is, mert nagyon hasonlít a listákhoz. A tuple-k egy nagyon fontos dologban különböznek a listáktól: az elemeik nem változtathatók, létrehozásuk után maradnak olyannak, aminek létrehoztuk.>>> t=(1,2,3)
>>> t
(1, 2, 3)
>>> t[0]
1
>>> t[1]
2
>>> t.append(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
>>> t[2]=5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Ebből látszik, hogy a létrehozásuk kerek zárójellel történik szögletes helyett, az elemeit ugyanúgy indexekkel tudjuk megcímezni, de sem hozzáadni, sem elemet módosítani nem tudunk. Mire jó akkor ez nekünk???
Nos, a programozás során sok esetben fordul elő, hogy olyan elemek sorozatával kell dolgoznunk, amely nem változik meg a futásidő alatt, sőt még azt is el akarjuk kerülni, hogy netán véletlenül megváltoztassa a programunk. Ilyenkor a tuple kifejezetten hasznos.
De nem lehetne megoldani a dolgot listával? Végülis, ha odafigyelünk, hogy ne történjen módosítás, akkor a lista éppolyan jó. Egy dolog kivételével: a tuplék elérése pythonban jóval gyorsabb mint a listáké, ami hosszú sorozatoknál, nagy elemszám esetén gyorsabb programvégrehajtást eredményez.
Több dolog nem jut eszembe, be is rekesztem a dolgot ;)
Legközelebb a stringekről ejtek pár gondolatot.
UI: a menügeneráló tkinterhez saját bejegyzést kapott, mivel tényleg inkább haladó téma. Itt olvasható
Aptyuk, lehetne egy kicsit szajbaragosabban?:D
VálaszTörlés:) honnan induljunk lako fiam? lyukkártya? :D
VálaszTörlésHát szerintem arra gondolt hogy a pythonnal ismerkedőnek nagy ugrás a listák után a példaprogram (Tkinter + objektumok), főleg ha objektumorientált programozást még nem tanult. :)
VálaszTörlésigen, csak vicceltem vele, régről ismerjük egymást
VálaszTörlés:D Sajnos nem tanultam soha programozast.. Csak a tudasvagy van meg, de az elso akadalynal feladom :D Parszor mar nekialltam pedig.. :D
VálaszTörlés