ordenar lista tupla
Publicado por ivan (26 intervenciones) el 05/06/2023 05:04:47
Hola , como de costumbre solicitando orientación ayuda.
Tienes una lista con información de países, esta información es el id (número que identifica al país), el nombre y la capital:
paises = [
[0, 'España', 'Madrid'],
[2, 'Alemania', 'Berlin'],
[1, 'Francia', 'Paris'],
[3, 'Italia', 'Roma']
]
Además, tienes una lista con el índice de belleza de los países, según un comentarista de un canal de viajes. Esta lista contiene el id de cada pais, junto a un float entre 0 y 1 con su índice de belleza (un país con un índice más alto se considera más bello que un país con el índice más bajo)
Nota que el índice de belleza pertenece al país con el mismo id en la lista países.
belleza = [
[2, 0.57],
[1, 0.81],
[3, 0.68],
[0, 0.62]
]
Define la función paises_bellos(paises, belleza), que recibe como parámetro la lista paises y la lista belleza. La función deberá retornar una lista de tuplas, donde cada tupla contiene el nombre de un país y su índice de belleza. Además, las tuplas de esta lista deberán estar ordenadas de país más bellos a país menos bellos. Para las listas anteriores a función deberá retornar:
[('Francia', 0.81),
('Italia', 0.68),
('España', 0.62),
('Alemania', 0.57)
]
Yo voy por este camino pero la tupla que es inmutable no logro ordenarla
for tupla in zip(paises, belleza):
nueva_tupla=(tupla[0][1],tupla[1][1])
print(nueva_tupla)
Tienes una lista con información de países, esta información es el id (número que identifica al país), el nombre y la capital:
paises = [
[0, 'España', 'Madrid'],
[2, 'Alemania', 'Berlin'],
[1, 'Francia', 'Paris'],
[3, 'Italia', 'Roma']
]
Además, tienes una lista con el índice de belleza de los países, según un comentarista de un canal de viajes. Esta lista contiene el id de cada pais, junto a un float entre 0 y 1 con su índice de belleza (un país con un índice más alto se considera más bello que un país con el índice más bajo)
Nota que el índice de belleza pertenece al país con el mismo id en la lista países.
belleza = [
[2, 0.57],
[1, 0.81],
[3, 0.68],
[0, 0.62]
]
Define la función paises_bellos(paises, belleza), que recibe como parámetro la lista paises y la lista belleza. La función deberá retornar una lista de tuplas, donde cada tupla contiene el nombre de un país y su índice de belleza. Además, las tuplas de esta lista deberán estar ordenadas de país más bellos a país menos bellos. Para las listas anteriores a función deberá retornar:
[('Francia', 0.81),
('Italia', 0.68),
('España', 0.62),
('Alemania', 0.57)
]
Yo voy por este camino pero la tupla que es inmutable no logro ordenarla
for tupla in zip(paises, belleza):
nueva_tupla=(tupla[0][1],tupla[1][1])
print(nueva_tupla)
Valora esta pregunta
0