[Python] avrei bisogno del valore null... o almeno credo...

Francesco Guerrieri f.guerrieri a gmail.com
Mer 30 Gen 2008 18:43:46 CET


On Jan 30, 2008 6:18 PM, Java <quilospam a email.it> wrote:

> Prima di tutto chiedo perdono per il bombardamento di domande...
>
> Poi... ecco di cosa vrei bisogno (una riga di pseudocodice vale più di
> mille parole):
>
> # devo aggiornare questa lista
> rete = [<lista di oggetti con etichetta>]
> # usando i dati di questa
> lista = [<lista[0]è la "testa" tutti gli altri sono Etichette]
>
> testa = null
> for elem in lista:
>    if elem.getEtichetta() ==  lista[0]:
>       testa = elem
>    else:
>       testa = Elemento()
>
> # da qui in poi lavoro su testa
>
> Spero che si capisca che "testa" può essere sia un nuovo oggetto
> Elemento e sia un'oggetto già presente in rete.
>
> Quello che ci faccio dopo è identico in entrambi i casi, ma senza valore
> "null" non so come fare....
>
> Potrei subito creare testa = Elemento(), ma se poi invece devo solo
> aggiornare un valore già presente, ho creato inutilmente un nuovo
> oggetto che resterà in giro fino al prossimo garbage collecting...
>
> Non mi è chiaro il tuo problema
Dall'esempio di codice che hai mandato, non c'è nessuno bisogno di creare un
nameholder testa
(comunque sarebbe testa = None)

semplicemente nei due casi assegni testa a due oggetti diversi,
di volta in volta o elem o Elemento()
Ti faccio ntoare che il tuo codice assegna testa all'ULTIMO elem in lista
che abbia l'etichetta giusta.

Ma forse il codice che volevi scrivere era:

rete = [elem for elem in lista if elem.etichetta == qualcosa]

?
Non mi piace molto neanche il metodo getEtichetta, non ti basta leggere
elem.etichetta?
ciao,
Francesco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20080130/03e810e5/attachment-0001.htm 


More information about the Python mailing list