Il 26/04/2020 13:28, Francesco Pischedda ha scritto:
Buondí

Il giorno dom 26 apr 2020 alle ore 13:02 Carpediem <i.carped...@tiscali.it <mailto:i.carped...@tiscali.it>> ha scritto:

    Buongiorno lista, approfittando di questo periodo, ho ripreso a
    cimentarmi col caro python e mi sono imbattutto in una situazione
    che non riesco a risolvere:

    ho due liste; nella prima (capitali) sono riportati i nomi delle
    principali città del mondo (una trentina) e nella seconda lista,
    (temperature) in corrispondenza di posizione di ogni capitale, la
    temperatura massima della giornata.

    volevo fare in modo che queste due liste venissero ordinate in
    modo tale che temperature e nomi delle capitali vengano riportate
    in ordine decrescente sulla base delle temperature.


[...]

    Suggerimenti? Soluzioni?

una possibile soluzione potrebbe essere la seguente

>>> cities = ["Rome", "Berlin", "Paris"]
>>> temperatures = [25, 17, 21]
>>> sorted(zip(cities, temperatures), key=lambda t: t[1])
[('Berlin', 17), ('Paris', 21), ('Rome', 25)]

Se hai dubbi chiedi pure.


Ok, forse avrei fatto meglio a non tentare, per semplificare il discorso, a modificare i termini dell'esempio.

in realtà, nella lista che vi ho indicato come capitali, ho trentuno numeri (da zero a trenta) e nella seconda lista altrettanti numeri che però possono avere valori che vanno da zero a 200 e che vengono aggiornati di volta in volta

ho quindi bisogno che le liste restino tali in modo da continuare ad operare come normalmente si fa con le liste per effettuare successive operazioni. Tra l'altro, sulle liste di origine, ho molte altre linee di codice che eseguono comandi

per altri calcoli e vorrei quindi restassero invariate. Questo è il motivo per cui, tra l'altro, avevo immaginato di creare due nuove liste da poter utilizzare per il solo specifico caso. Non posso quindi considerare stringhe come "roma", "berlino" ecc

proprio perchè in realtà si tratta di numeri interi. Per non confondervi con i doppi numeri ho immaginato di modificare i termini di ciò che compone ogni singola stringa ma forse vi ho messo fuori strada.

quindi in realtà ad un numero ne dovrà corrispondere un altro. per esempio:

lista_uno = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 , 19 , 20 ...)

lista_due =(50, 30, 26, 48, 50, 13, 9, 15, 61, 2, 0, 26, 45, 12, 2, 8, 18, 33, 22, 1, 40 ...)

quello che voglio ottenere è questo:

lista_uno = (8,  0,  4,  3, 12, 20, 17, 1, 2, 11, 18, 16, 7, 5, 11, 6, 15, 9, 14, 19, 10 ...)

lista_due = (61, 50, 50, 48, 45, 40, 33, 30, 26, 26, 22, 18, 15, 13, 12, 9, 8, 2, 2, 1, 0 ...)

o al limite:

nuova_lista_uno = (8,  0,  4,  3, 12, 20, 17, 1, 2, 11, 18, 16, 7, 5, 11, 6, 15, 9, 14, 19, 10 ...)

nuova_lista_due = (61, 50, 50, 48, 45, 40, 33, 30, 26, 26, 22, 18, 15, 13, 12, 9, 8, 2, 2, 1, 0 ...)

scusatemi e grazie ancora.


Ciao,
Francesco
--
"I really detest the use of the word "training" in relation to professional activities. Training is what you do to dogs. What you should be doing with people is educating them, not training them. There is a big, big difference." - Ron Garret

"Unix IS user friendly. It's just selective about who its friends are"

"Nevertheless I still think it’s a bad idea to make things harder for ourselves if we can avoid it."

"C is quirky, flawed, and an enormous success."
                                   -- Dennis Ritchie

"Shipping is a feature. A really important feature. Your product must have it."

"There is no such a thing as a temporary change or workaround: In most cases, workarounds are tech debt."

"La gatta frettolosa ha fatto i gattini ciechi"


_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a