[Python] Dizionari

2008-10-09 Per discussione Oberdan Albertoni
Ciao,

avendo un dizionario, contente come chiavi dei domini e come valore un 
numero vorrei stampare i domini in base al valore numerico ad esempio :


DizionarioUno = {' dominio1.com' : '3', 'dominio2.com' : '44', 
'dominio3.com' : '5' }

vorrei ottenere un elenco ordinato in questo modo :

dominio2.com44
dominio3.com  5
dominio1.com  3

Quale metodo utilizzereste ?
Ciao da Obe.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dizionari

2008-10-09 Per discussione Oberdan Albertoni

 DizionarioUno = {'dominio1.com' : '3', 'dominio2.com' : 
 '44','dominio3.com' : '5' }
 for i in sorted(DizionarioUno.items(),
 
> ... key=lambda x:int(x[1]), reverse=True):
> ... print "%-20s %3s" % i
>   
Grazie, ho risolto utilizzando delle tuple, ma direi che la tua 
soluzione e' anni luce piu' avanti :-))
Ciao da Obe.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Stampare messaggi in finestre differenti..

2008-10-09 Per discussione MauX
Il giorno gio, 09/10/2008 alle 15.50 +0200, Leonardo ha scritto:
> contemporaneamente due cicli "infiniti": il gtk.main e il ciclo del
> bot
> che riceve messaggi fino a che non si disconnette..

beh', i cicli li puoi gestire tranquillamente con i thread, in modo che
ognuno sia autonomo rispetto all'altro.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dizionari

2008-10-09 Per discussione Oberdan Albertoni
Ciao,

una domanda nella tua soluzione

for i in sorted(ElencoDomini.items(), key=lambda x:int(x[1]), reverse=True):


La funzione sorted ordina una lista di tuple cioe'  ElencoDomini.items().
La lista viene ordinata tramite la funzione  key=lambda x:int(x[1])  e 
qui mi perdo.
x e' la tupla  giusto ?
x[1] e' il nostro contatore dei domini nel dizionario iniziale giusto ?
ma che confronto e' int(x[1]) ?

Mille grazie da Obe.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dizionari

2008-10-09 Per discussione Carlo C8E Miron
2008/10/9 Oberdan Albertoni <[EMAIL PROTECTED]>:
> Ciao,
> avendo un dizionario, contente come chiavi dei domini e come valore un
> numero vorrei stampare i domini in base al valore numerico ad esempio :
>
> DizionarioUno = {' dominio1.com' : '3', 'dominio2.com' : '44',
> 'dominio3.com' : '5' }
>
> vorrei ottenere un elenco ordinato in questo modo :
>
> dominio2.com44
> dominio3.com  5
> dominio1.com  3
>
> Quale metodo utilizzereste ?

>>> DizionarioUno = {'dominio1.com' : '3', 'dominio2.com' : '44','dominio3.com' 
>>> : '5' }
>>> for i in sorted(DizionarioUno.items(),
... key=lambda x:int(x[1]), reverse=True):
... print "%-20s %3s" % i
...
dominio2.com  44
dominio3.com   5
dominio1.com   3

> Ciao da Obe.

(c)
-- 
Carlo C8E Miron
Open Source Solution Architect


  
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Stampare messaggi in finestre differenti..

2008-10-09 Per discussione Leonardo
Sto scrivendo un bot IRC in grado di connettersi a più servers, e vorrei
fare in modo che stampasse i messaggi che riceve in luoghi differenti a
seconda del server da cui provengono.
Inizialmente mi ero puntato su usare due terminali, ma non ho trovato
niente ed inoltre mi è stato detto che è una cosa un po' complicata
perciò ho lasciato perdere.
Ho provato così utilizzando le gtk, per ogni server creo una finestra,
una textview e un textbuffer, ed ogni volta che ricevo un messaggio dal
server aggiorno il textbuffer.. ho fatto varie prove ma non sono
riuscito a combinare nulla, anche perchè dovrei eseguire
contemporaneamente due cicli "infiniti": il gtk.main e il ciclo del bot
che riceve messaggi fino a che non si disconnette..
Sapete aiutarmi?

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dizionari

2008-10-09 Per discussione simone
Oberdan Albertoni ha scritto:

> La funzione sorted ordina una lista di tuple cioe'  ElencoDomini.items().
> La lista viene ordinata tramite la funzione  key=lambda x:int(x[1])  e 
> qui mi perdo.
> x e' la tupla  giusto ?
> x[1] e' il nostro contatore dei domini nel dizionario iniziale giusto ?
> ma che confronto e' int(x[1]) ?

int(x[1]) non è un confronto ma una funzione che restituisce i valori di 
x[1] come interi.

Nel caso specifico "lambda x:int(x[1])" è equivalente a:

def nome(x):
return int(x[1])

HTH
-- 
Simone
Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dizionari

2008-10-09 Per discussione Carlo C8E Miron
Ciao,

2008/10/9 Oberdan Albertoni <[EMAIL PROTECTED]>:
> Ciao,
>
> una domanda nella tua soluzione
>
> for i in sorted(ElencoDomini.items(), key=lambda x:int(x[1]), reverse=True):
>
>
> La funzione sorted ordina una lista di tuple cioe'  ElencoDomini.items().
> La lista viene ordinata tramite la funzione  key=lambda x:int(x[1])  e
> qui mi perdo.
> x e' la tupla  giusto ?
> x[1] e' il nostro contatore dei domini nel dizionario iniziale giusto ?
> ma che confronto e' int(x[1]) ?

Guarda, forse cosi` e` piu` leggibile::

>>> DizionarioUno = {'dominio1.com':'3', 'dominio2.com':'44', 
>>> 'dominio3.com':'5'}
>>> def by_number((dom, num)): return int(num)
...
>>> for i in sorted(DizionarioUno.items(), key=by_number, reverse=True): print 
>>> "%-20s %3s" % i
...
dominio2.com  44
dominio3.com   5
dominio1.com   3
>>>

Ah, apropos, questo mi sembra un ottimo usecase per le namedtuple, vedi


> Mille grazie da Obe.

yw,
(c)
-- 
Carlo C8E Miron
Open Source Solution Architect


  
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python