Re: [Python] dizionario python con chiavi non univoche
scusami, ma se faccio dati[0][11] la risposta è un errore perchè manca la chiave 11 ! Il giorno 25 novembre 2011 08:41, Giuseppe Amato giuam...@gmail.com ha scritto: salve a tutti, spiego meglio il mio problema: vorrei realizzare un dizionario in modo che come chiave si prenda un range di numeri ed i valori sono degli array. Ad esempio: dati={0x20:array([1, 5, 7 , 21,33]), 21 x30: array(4,6,1,3,5]} ossia per tutti i valori x compresi tra 0 e 20 prendi il primo array (e così via) e' possibile ? C'è un modo anche se è un po' rozzo: fai un dizionario di dizionari dati={0:{20:[1, 5, 7 , 21,33]},21:{30:[4,6,1,3,5]}} dati[0][20] [1, 5, 7, 21, 33] In questo modo puoi richiamare direttamente l'array corrispondente al range che ti interessa fosse anche tra 0 e 10 -- -- Giuseppe Amato e-mail: giuam...@gmail.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] dizionario python con chiavi non univoche
2011/11/24 Riccardo mancuso mancuso.riccard...@gmail.com salve a tutti, spiego meglio il mio problema: vorrei realizzare un dizionario in modo che come chiave si prenda un range di numeri ed i valori sono degli array. Ad esempio: dati={0x20:array([1, 5, 7 , 21,33]), 21 x30: array(4,6,1,3,5]} ossia per tutti i valori x compresi tra 0 e 20 prendi il primo array (e così via) e' possibile ? Devi creare una classe basata su dict, e poi customizzare i metodi __getitem__ e __setitem__. Per esempio, leggi qui: * http://stackoverflow.com/questions/2390827/how-to-properly-subclass-dict-and-override-get-set Prima di farlo, peró, ti consiglio di scrivere qualche doctest per definire come questo dizionario si dovrebbe comportare. Per esempio, come lo inizializzeresti? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Giovanni Dall'Olio, phd student IBE, Institut de Biologia Evolutiva, 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
Re: [Python] dizionario python con chiavi non univoche
Puoi migliorare il tutto creando una classe di dati come scriveva Riccardo Ho sbagliato, intendevo Giovanni...tu sei Riccardo ;P -- -- Giuseppe Amato e-mail: giuam...@gmail.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] dizionario python con chiavi non univoche
salve a tutti, spiego meglio il mio problema: vorrei realizzare un dizionario in modo che come chiave si prenda un range di numeri ed i valori sono degli array. Ad esempio: dati={0x20:array([1, 5, 7 , 21,33]), 21 x30: array(4,6,1,3,5]} ossia per tutti i valori x compresi tra 0 e 20 prendi il primo array (e così via) e' possibile ? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] dizionario python con chiavi non univoche
dati={0x20:array([1, 5, 7 , 21,33]), 21 x30: array(4,6,1,3,5]} ossia per tutti i valori x compresi tra 0 e 20 prendi il primo array (e così via) e' possibile ? No, scrivi una funzione. Due righe al volo... --- dati = [[0, None],[20,[1,2,3,4,5]],[30,[2,3,4,5]]] def chooseCase(caso): for x in dati: if (caso = x[0]): return x[1] print(chooseCase(25)) print(chooseCase(-2)) -- Wyrmskull ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] dizionario python con chiavi non univoche
salve a tutti, spiego meglio il mio problema: vorrei realizzare un dizionario in modo che come chiave si prenda un range di numeri ed i valori sono degli array. Ad esempio: dati={0x20:array([1, 5, 7 , 21,33]), 21 x30: array(4,6,1,3,5]} ossia per tutti i valori x compresi tra 0 e 20 prendi il primo array (e così via) e' possibile ? C'è un modo anche se è un po' rozzo: fai un dizionario di dizionari dati={0:{20:[1, 5, 7 , 21,33]},21:{30:[4,6,1,3,5]}} dati[0][20] [1, 5, 7, 21, 33] In questo modo puoi richiamare direttamente l'array corrispondente al range che ti interessa fosse anche tra 0 e 10 -- -- Giuseppe Amato e-mail: giuam...@gmail.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python