[Soci SLIP] Aiuto python
Davide Corio
davide.corio a domsense.com
Mer 1 Apr 2009 21:46:07 CEST
On Wed, 2009-04-01 at 18:49 +0000, Davide Corio wrote:
> il metodo più semplice sta ovviamente nel confrontare la corrispondenza,
> ovvero, se "lista" è la tua lista iniziale e vuoi mettere in una lista
> chiamata "a" tutti quelli che iniziano per 176 e finiscono per
> "010","020","050" e "060", potrai ad esempio fare:
>
> >>> a = []
> >>> for element in lista:
> ... if element[1:4]=="176" and element[-7:-4] in
> ["010","020","050","060"]:
> ... a.append(element)
> ...
> >>> a
> ['s176010.tfw', 's176050.tfw', 's176010.tfw']
Dimenticavo, se non conosci i criteri di suddivisione a priori la
questione è più ardua e potresti fare una cosa simile:
>>> liste = {}
>>> for element in lista:
... if not element[1:4] in liste.keys():
... liste[element[1:4]]={}
... if not element[-7:-4] in liste[element[1:4]].keys():
... liste[element[1:4]][element[-7:-4]]={}
... liste[element[1:4]][element[-7:-4]]=element
...
>>> liste
{'157': {'160': 's157160.tfw'}, '156': {'160': 's156160.tfw'}, '158':
{'130': 's158130.tfw'}, '176': {'050': 's176050.tfw'}, '175': {'150':
's175150.tfw'}, '174': {'120': 's174120.tfw'}}
poi alla fine puoi passare ogni elemento del dizionario e ogni suo sotto
elemento, tanto li il livello di profondità non cambia.
volendo nel passaggio potresti anche crearti le liste con nome xa, xb,
xc e così via
--
Davide Corio
email: davide.corio<at>domsense.com
web: http://www.domsense.com
Maggiori informazioni sulla lista
Soci