Python - Obtener la quinta letra de cada elemento de una lista

 
Vista:
sin imagen de perfil
Val: 26
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Obtener la quinta letra de cada elemento de una lista

Publicado por César Alfredo (9 intervenciones) el 19/01/2021 19:18:30
Hola, deseo me ayuden con este problema intenté con un método count pero no me sale :(


El siguiente código asigna la quinta letra de cada palabra en comida a la nueva lista quinto. Sin embargo, el código actualmente produce errores. Inserte una cláusula try / except que permitirá que el código se ejecute y produzca una lista de la quinta letra de cada palabra. Si la palabra no es lo suficientemente larga, no debería imprimir nada.

1
2
3
4
comida = ["chocolate", "pollo", "maíz", "sándwich", "sopa", "patatas", "carne", "salmón ahumado", "limonada"]
quinto = []for x in comida:
quinto.append (x [4])
print(quinto)
IndexError Traceback (most recent call last)
<ipython-input-5-b7800065a05e> in <module>
3
4 for x in comida:
----> 5 quinto.append (x [4])
IndexError: string index out of range
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Obtener la quinta letra de cada elemento de una lista

Publicado por joel (901 intervenciones) el 19/01/2021 19:53:04
Hola César, creo que seria algo así:

1
2
comida = ["chocolate", "pollo", "maíz", "sándwich", "sopa", "patatas", "carne", "salmón ahumado", "limonada"]
quinto = [x[4] for x in comida if len(x)>4]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 26
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Obtener la quinta letra de cada elemento de una lista

Publicado por César Alfredo (9 intervenciones) el 20/01/2021 03:16:50
Hola Joel, muchas gracias por tu vaiosa ayuda. Intenté poner el try y el except de la siguiente forma pero me marca un error al imprimir 'quinto'.

1
2
3
4
5
6
try:
    comida = ["chocolate", "pollo", "maíz", "sándwich", "sopa", "patatas", "carne", "salmón ahumado", "limonada"]
 
except IndexError:
    quinto = [x[4] for x in comida if len(x)>4]
print(quinto)

Saludos
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Obtener la quinta letra de cada elemento de una lista

Publicado por tincopasan (1082 intervenciones) el 20/01/2021 04:18:21
veamos:
la solución que te dió joel no te dará error porque tiene un condicional, por lo cual el try es innecesario, ahora bien, supongamos que querés aprender a usar el try:
1
2
3
4
5
6
7
#-*- coding: utf -8 -*-
comida = ["chocolate", "pollo", "maíz", "sándwich", "sopa", "patatas", "carne", "salmón ahumado", "limonada"]
try:
    quinto = [x[4] for x in comida]
    print(quinto)
except IndexError:
    print("algún elemento tiene menos de 5 letras ")

dentro del try puse lo que querés evaluar si está correcto y a la compresión de listas le saqué el condicional para que si de error, ya que en este caso hay varias con largo menor, fijate que pasa si ponés:
1
2
cuarto = [x[3] for x in comida]
print(cuarto)

esto claro está, reemplazando lo que hay en el try, o sino agregale una letra a todas las palabras de 4 letras sin modificar lo anterior.
el try es para manejar errores, y lo antes expuesto no lo dará.
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
sin imagen de perfil
Val: 26
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Obtener la quinta letra de cada elemento de una lista

Publicado por César Alfredo (9 intervenciones) el 20/01/2021 04:26:24
Muchas gracias tincopasan, no me daba error como tal mas bien no me imprimia quinto, te agradezco tu ayuda y si quiero aprender a manejar bien las excepciones pues en el mini curso que tomé no venia tan explicado.

Saludos
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