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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a