Többdimenziós listák elemeinek elérése - trükkök

Minap belefutottam egy olyan dologba, hogy egy beágyazott listákat tartalmazó listák elemeit kellett volna elérnem "sor" és "oszlop" módon.  Ha tovább gondoljuk a dolgot, akkor ez a 2 dimenziós listám így néz ki (az egyszerűség kedvéért dolgozzunk most számokkal:

1  2  3
4  5  6
7  8  9

Stringek, azaz a szövegkezelés 1. rész

A szoftverek igen sok adata szöveges, hiszen a szoftvereknek velünk kell kommunikálnia, mi meg nem értünk binárisan (néhány igen elvetemült bitfejűtől eltekintve :) ). Ebből következően akkor tudunk programokat hatékonyan írni, ha az általunk használt programnyelv szövegkezelése fejlett, illetve ehhez olyan eszközöket biztosít, amivel a programozónak nem kell feltalálnia a spanyolviaszt. Igaz, a programnyelv fejlesztőinek ezért igen magasra van rakva a léc...

A python elég jó a szövegkezelésben, és lehet hogy pár helyen a php esetleg ráver (hiszen webnyelv, jónak kell lennie benne), összeségében nagyon jó eszközöket ad a kezünkbe, ha betartjuk a szabályait.

Tkinter menügeneráló listával

Eredetileg a python listákról szóló 3. bejegyzésben írtam ezt, de a hozzászólások jogos megállapítása szerint ez inkább haladó téma. Aki ott elolvasta, annak ez nem újdonság, ugyanaz szerepel itt, ami ott volt

Az alábbi kódrészlet egy Tkinterrel készült gui-s (grafikus felületű) alkalmazás menüjének legenerálását végzi. Ugyanezt a megoldást alkalmaztam a szótanuló programocskámban, ott bevált:

Python listákról 3.rész (meg egy kicsi tuple...)

2. rész itt
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]

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]

A python listákról 2. rész

Folytatom az előző bejegyzést (1. rész itt).
Szeretnék bemutatni egy egyszerű egész számokból álló számsorlista előállító eljárást. A range() függvény a barátunk ehhez. Ez egy beépített függvény, meg kell adni neki a kezdő- és végértéket:
>>> range(2,7)
[2, 3, 4, 5, 6]

Mire jó ez nekünk?

A python listákról

Mik a pythonban a listák?
Ha még nem programoztál, akkor mondjuk elemek vesszőkkel elválasztott sora, ha igen, akkor meg mondjuk azt, hogy olyan mint egy tömb, egy array.
Persze egyik sem, de nem baj :)

A listát két szögletes zárójellel hozhatjuk létre. Csináljunk egy üres listát:
>>> lista=[]
>>> lista
[]

De akár csinálhatunk egy elemeket is tartalmazó listát is:
>>> lista=[1,2,3]
>>> lista
[1, 2, 3]

A listákban az elemek típusa különböző is lehet. Emiatt is univerzálisabb a lista, mint más nyelvekben a tömbök, amik egyazon típust tudnak csak tárolni.
>>> lista=[1,2,'a',3.8]
>>> lista
[1, 2, 'a', 3.7999999999999998]

Pythonkodjunk! Indulás!

Üdv Mindenkinek! Szeretném ezzel a kis bloggal a Python programozási nyelvet népszerűsíteni magyar nyelven, hogy minél több lelkes informatikai affinitású kreatív honfitársamnak segíthessek kifejezésre juttatni önmagát. Fontosnak tartom, hogy magyarul több infó legyen a Pythonról, hiszen hiába a világháló, angolul sokan nem, vagy nagyon kicsit beszélnek, ezért az ilyen önképzés nekik nagy nehézségekbe ütközik.
Alkotni jó, viszont a tanulópénz pl. hobbi asztalosként magas. A számítógép és az internet terjedése révén viszont sok-sok magyar családban elérhető egy gép, amin egy alkotni vágyó ember nyílt forrású és ingyenes programfejlesztési eszközökkel szoftvereket készíthet. Ilyen a Python, PHP, Ruby, Perl és még sorolhatnám.
Hogy miért a Python?
  • multiplatformos - a magyar otthonokban winxp vagy egyre növekvő számban valamelyik Ubuntu linux található (persze sok más linux is). A Python linux, mac és win alatt is tökéletesen működik!
  • könnyen tanulható - szerintem még annak is, aki soha nem programozott
  • gyors - a Python a hasonló típusú nyelvek között is gyorsnak számit
  • magasszintű - nem kell olyasmivel foglalkozni, hogy memóriakezelés, ezzel a programozónak több erőforrása marad magára a program elkészítésére
  • ...
Nem sorolom tovább :)
Ajánlom a pythonkodást linux rendszer használatával, hiszen ezeken rendkívül könnyű telepíteni és futtatni.