Tag: sort

  • Ordinare per nome i bookmark (segnalibri) su Google Chrome

    Recentemente sono passato a Chrome come browser principale su tutti i miei computer.

    Una delle funzionalità che mi manca di Firefox è quella dell’ordinamento dei bookmarks (il menu contestuale che si apre quando cliccate su una cartella di bookmark e scegliete “Ordina per nome”). Dopo aver cercato questa feature su Chrome, ho scoperto che la possibilità di ordinare per nome i segnalibri è possibile anche su Chrome, tuttavia la modalità di utilizzo è un po’ differente.

    Per ordinare i bookmark, apriamo il gestore dei bookmark (⌘+Alt+B su Mac) e apriamo la cartella con i bookmark che vogliamo ordinare.  Dal menu in alto, “Organizza”, scegliamo “Riordina per titolo”.

    I bookmark della cartella selezionata verranno cosìordinati per titolo della pagina web salvata come segnalibro.

  • Python: come ordinare un dizionario [dict] per chiave o per valore

    Python: come ordinare un dizionario [dict] per chiave o per valore

    In Python, i dizionari (dict) sono una struttura dati associativa che associa una chiave ad un valore (k, v):

    d = {}
    d['bart'] = 'marge'
    d['maggie'] = 'homer'
    d['milhouse'] = 'nelson'
    d['lisa'] = 'skinner'
    >>> d
    {'maggie': 'homer', 'lisa': 'skinner', 'bart': 'marge', 'milhouse': 'nelson'}
    

    Esistono due modi di ordinare un dizionario:

      • La modalità “classica” e più conosciuta: ovvero ordinare il dizionario sulla base delle chiavi che lo compongono:
    for k in sorted(d.keys()):
    print k + ' : ' + d[k]
    
    bart : marge
    lisa : skinner
    maggie : homer
    milhouse : nelson
    
      • La modalità meno conosciuta e che ho dovuto ricercare [e che quindi condivido con voi] ovvero quella di ordinare il dizionario sulla base dei valori che sono associati alle chiavi:
    sorted(d.items(), key=lambda(k,v):(v,k))
    >>> [('maggie', 'homer'), ('bart', 'marge'), ('milhouse', 'nelson'), ('lisa', 'skinner')]
    

    Come vedete questa volta abbiamo ottenuto una lista degli elementi ordinati secondo il valore associato ad ogni chiave. Può tornare utile!

    Esistono molteplici versioni di quest’ultima istruzione, ma questa ritengo che sia la più compatta e veloce.