Python - Duda imprimiendo listas

 
Vista:
Imágen de perfil de Víctor Martínez

Duda imprimiendo listas

Publicado por Víctor Martínez (2 intervenciones) el 13/01/2016 00:44:43
Buenas, pues estoy aprendiendo python y estoy con el pdf de python para todos, que me han recomendado y la verdad es bastante legible y fácil de comprender.

Tengo una duda, y estoy seguro que puede hacerse, pero siendo el tutorial para novatos no lo explica.

Pues estaba imprimiendo en pantalla y haciendo pruebas con la lista con eso de contar por números.

Por ejemplo, esta es la lista con la que estaba probando XD
lista = [['gato', 2], 'gato', 3, 4, 6, 7, 8]

He estado probando a imprimir para recordar luego lo siguiente

print (lista[-7][-2]) Esto imprime "gato" de dentro de la lista que hay dentro de la lista XD.

Hasta aquí bien.

Mi duda empieza con el siguiente tema, que es sobre las listas y te dice que puedes coger varios datos marcando un principio y un final. Imprimiéndolo viene a ser esto

print (lista[0:6:2]) lo cuál viene a ser lo mismo que: print (lista[::2]) y que imprimiría lo siguiente:
[['gato', 2], 3, 6, 8] Sería toda la lista saltando de dos en dos.

Entonces, como ejercicio me he propuesto sacar solamente las dos strings "gato" que hay en la lista usando el método este para ir saltando.

Para ello hago trampa añadiendo un objeto más a la lista.
lista,insert(1, 123)

Quedando la lista ahora de la siguiente manera:
[['gato', 2], 123, 'gato', 3, 4, 6, 7, 8]

Así puedo saltar de dos en dos y coger a las dos strings.
print (lista[:3:2]) y me devuelve lo siguiente:
[['gato', 2], 'gato']

Todo muy bien, pero yo únicamente quiero imprimir las dos cadenas sin contar ese dos que está dentro de la lista que hay dentro de la lista.

No sé si se puede hacerlo usando este método, pero estoy convencido que debería de poderse.

Lo malo es que no puedo saber cómo.

Quizá no se pueda, pero me parece extraño

.:VMS:.
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