Python - trabajat lista de lista a tuplas

 
Vista:

trabajat lista de lista a tuplas

Publicado por ivan (26 intervenciones) el 31/05/2023 00:58:41
Hola nuevamente . Muy agradecido por la ayuda.
Mi dificultad con este ejercicio.

lista = [
['Numero alumno', 'Nota final', 'Nombre', 'Color favorito'],
[16848, 5.7, 'Alicia', 'Rojo'],
[19845, 4.8, 'Marco', 'Verde'],
[19515, 6.2, 'Federico', 'Azul']
]
Tienes una lista de listas con información de alumnos, esta lista contiene siempre como primer elemento un headerque muestra donde se guarda cada información:
Deberás definir una función notas_alumnos(lista), la cual recibe una lista de listas en el formato anterior.
La función deberá retornar una lista de tuplas, donde cada tupla contiene el nombre de un estudiante y su nota
final.
Por ejemplo, para las listas anteriores tu función deberá retornar:


[('Alicia', 5.7), ('Marco', 4.8), ('Federico', 6.2) ]

def notas_alumnos(lista):
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder

trabajat lista de lista a tuplas

Publicado por ivan (26 intervenciones) el 31/05/2023 19:59:18
Hola . Gracias por escribir.
Soy nuevo en esto .
Estoy en este punto . Paso las listas a tuplas... pero no se como hacer ahora para correr la tupla y que me retorne solo los valores que quiero ...uno es un str 'Mario ' y su nota final que es un float ...que me quede todo en la misma tupla... y lo mismo con Alicia y su nota final



for tupla in zip(lista[1], lista[2]):
print(tupla[0], tupla[1])


no se si me estoy yendo a cualquier lado ... ahi me devuelve los datos como tupla ... pero como ya te digo ... no se como hacer para que recorra y me retorne los valores que quiero ...Gracias... claramente no se usar bien en for aun entre otras cosas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

trabajat lista de lista a tuplas

Publicado por Alejandro (11 intervenciones) el 31/05/2023 21:12:02
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Debes retornar una lista de tuplas por lo que lo primero será crear la la lista vacía
1
lista_notas = []

Para iterar la lista de origen puedes especificar rangos
1
lista[rango_inicial:rango_final] #Desde el inicio establecido hasta el final establecido

Si omites uno de los valores del rango tomara hasta o desde el extremo no indicado
1
2
lista[:rango_final] #Desde el comienzo hasta el final establecido
lista[rango_inicial:] #Desde el inicio establecido hasta el ultimo elemento

ya que no necesitas el header (primer elemento de la lista)
1
for i in lista[1:]:

agregas la tupla de (nombre, nota) a la lista de notas, ya sabes que el nombre del alumno tiene el indice 2 y la nota el indice 1
1
lista_notas.append((i[2], i[1]))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

trabajat lista de lista a tuplas

Publicado por Costero (92 intervenciones) el 01/06/2023 04:36:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def to_tuple(students: list) -> list:
    return [(item[2], item[1]) for item in students[1:]]
 
 
lista = [
    ['Numero alumno', 'Nota final', 'Nombre', 'Color favorito'],
    [16848, 5.7, 'Alicia', 'Rojo'],
    [19845, 4.8, 'Marco', 'Verde'],
    [19515, 6.2, 'Federico', 'Azul']
]
 
result = to_tuple(lista)
 
print(result)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

trabajat lista de lista a tuplas

Publicado por ivan (26 intervenciones) el 01/06/2023 23:02:09
Hola . Gracias . El tema es que si mi función recibe una lista diferente no me sirve .
Esta lista puede contener distinta información y en distinto orden, pero siempre va a tener al menos el nombre y la nota final. Por ejemplo, la lista también se podría ver como:

lista = [
['Nombre', 'Numero alumno', 'Correo', 'Nota final'],
['Alicia', 16848, '[email protected]', 5.7],
['Marco', 19845, '[email protected]', 4.8]


Tengo que recorrer la lista . Que encuentre en lista[0 ] la palabra 'Nombre' y y ahí identifique que en ese indice se encontraran los nombres y lo mismo con las notas ... no se si me explico ... entonces a cualquier lista que le ponga ...pueda identificar nombre y notas independientemente el orden de la lista
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

trabajat lista de lista a tuplas

Publicado por Alejandro (11 intervenciones) el 02/06/2023 00:00:57
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Te sugiero leer un libro, eso lo aprendes en los capítulos de listas, tuplas y conjuntos.
1
2
idxNombre = lista[0].index('Nombre')
idxNota =  lista[0].index('Nota final')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

trabajat lista de lista a tuplas

Publicado por Ivan (26 intervenciones) el 02/06/2023 00:33:08
Hola. Gracias.
Me encantaria saber que libro. Ya lei esos temas en el 2da ed python y no encontre como resolver ... listas etc...
Por favor si podes recomendarme bibliografia y en lo posible en español. Seria de gran ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

trabajat lista de lista a tuplas

Publicado por Alejandro (11 intervenciones) el 02/06/2023 00:45:17
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Actualmente estoy leyendo PYTHON Curso práctico de formación de Juan Carlos Orós Cabellos editorial Alfaomega y coincidentemente el tema sobre tuplas, listas y conjuntos. De no ser por eso ni habría respondido tu post XD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

trabajat lista de lista a tuplas

Publicado por Costero (92 intervenciones) el 02/06/2023 04:03:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def to_tuple(students: list) -> list:
    return [(item[students[0].index('Nombre')], item[students[0].index('Nota final')]) for item in students[1:]]
 
 
lista = [
    ['Numero alumno', 'Nota final', 'Nombre', 'Color favorito'],
    [16848, 5.7, 'Alicia', 'Rojo'],
    [19845, 4.8, 'Marco', 'Verde'],
    [19515, 6.2, 'Federico', 'Azul']
]
 
result = to_tuple(lista)
print(result)
 
lista = [
    ['Nombre', 'Numero alumno', 'Correo', 'Nota final'],
    ['Alicia', 16848, 'amartinez@gmail.com', 5.7],
    ['Marco', 19845, 'marenas@gmail.com', 4.8]
]
result = to_tuple(lista)
print(result)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

trabajat lista de lista a tuplas

Publicado por Ivan (26 intervenciones) el 02/06/2023 05:56:18
Muchas gracias! Lo voy a buscar. Estoy iniciandome... y hasta ahora el libro 2da ed python es llevadero pero cuando voy a los ejercicios del curso que estoy haciendo no encuentro las herramientas para resolverlos...nuevamente gracias por la paciencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

trabajat lista de lista a tuplas

Publicado por Ivan (26 intervenciones) el 02/06/2023 05:58:54
Hola. Gracias. Podras recomendarme de donde leer. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar