[Python] operator.itemgetter con una lista
Giovanni Marco Dall'Olio
dalloliogm a gmail.com
Ven 29 Maggio 2009 19:49:36 CEST
Scusate, ho una domanda stupidissma su operator.itemgetter.
Ho una stringa fatta cosí:
>>> dati = '1010010101010101010001'
inoltre, ho una lista con gli indici degli elementi che vorrei estrarre
dalla stringa precedente:
>>> indici = [1, 2, 5, 16, 20]
ho pensato di utilizzare operator.itemgetter per ottenere tutti i valori
corrispondenti agli indici desiderati, senza dover fare cicli.
per esempio, al posto di:
>>> for index in indici:
... print dati[index]
vorrei fare:
>>> g = operator.itemgetter(indici)
>>> g(dati)
Il problema é che questo codice non funziona, perché operator.itemgetter non
accetta una lista come parametro, ma solo una serie di interi specificati
ognuno come un parametro a parte.
Questo funziona:
>>> g = operator.itemgetter(1, 2, 3, 5, 6)
ma questo no:
>>> g = operator.itemgetter([1, 2, 3, 5, 6])
questo comportamente mi sembra strano... esiste un metodo per convertire una
lista in un parametro accettabile da operator.itemgetter? O una maniera
alternativa per ottenere lo stesso risultato?
Many thanks :)
--
Giovanni Dall'Olio, phd student
Department of Biologia Evolutiva at CEXS-UPF (Barcelona, Spain)
My blog on bioinformatics: http://bioinfoblog.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20090529/d817b9b4/attachment.htm
Maggiori informazioni sulla lista
Python