Antes en Python :
- datos estruturados
- listas
A diferenza entre ordinal e cardinal
Podes pensar que en programación se fan cousas raras coas listas e outro datos estruturados que soen levar a confusión: os índices comenzan en 0 e non en 1.
Na lista serpes = ['Cobra','Pitón','Víbora'] teremos que o elemento 1º podemos chamalo serpes[0], e ao 3º serpes[2]. Para lembrar isto vexamos a diferenza entre ordinal e cardinal, que xa terás estudado:
- Ordinal: é cando nos referimos á orde dos elementos. 1º, 2º,3º...Non existe o elemento 0. É o que usamos falando.
- Cardinal: é cando nos interesa só coller o valor do elemento, e podemos acceder directamente a calquera elemento polo seu índice, que ven sendo a súa dirección na lista. É o que usamos programando.
Como todo, é cuestión de practicar un pouco e lembrar que haberá, en xeral, razóns matemáticas para facer cousas raras ;-)
Algo útil coas listas é poder agrupalas. Por exemplo teremos distintos datos correlativos en varias listas e poderíamos xenerar unha lista nova misturando os datos.
Neste caso partimos de dúas listas xa creadas e imos misturalas nunha nova lista. En Python existe outro tipo de dato estruturado, o diccionario, que permite facer isto mellor, pero de momento non o utilizamos.
Collemos o nome de 3 serpes galegas e o seu nome científico e creamos dúas listas con elas, nomevulgar e nomecientífico. O importante é decatarse que as listas están correlacioanadas, o elemento 1 da 1ª lista se corresponde co elemento 1 da 2ª.
Scratch 2.0 | Python 3 |
---|---|
|
nomevulgar = ['cobra viperina', 'cobra de colar', 'cobra rateira'] nomecientifico = ['Natrix maura', 'Natrix natrix', 'Malpolon monspessulanus'] |
Agora é cando comprobamos que Python é moito máis eficaz que Scratch para traballar con datos estruturados, pois temos funcións que facilitan o traballo con eles.
Creamos unha lista nova, nome de serpes, onde queremos que automáticamente se agrupen os nomes vulgares e os científicos das serpes.
Scratch 2.0 | Python 3 |
---|---|
|
nomes_de_serpes = list(zip(serpes_nomevulgar, serpes_nomecientifico)) print(nomes_de_serpes) |
Namentres que en Scratch temos que xerar un bucle e unha variable contador, en Python temos un simple comando zip(), que permite agrupar varias listas correlativamente.
Hai moitas máis ordes para traballar con listas no noso diccionario Sratch-Python
Exercicios:
- Intenta facer frases cos compoñente da lista do tipo: " O nome científico da cobra viperina é Natrix Maura" (os nomes terás que collelos da lista, non vale copialos).
- Crea un programa que engada máis elementos ás listas, preguntando novos nomes e apelidos.
- Fai un programa que insira un novo elemento na primeira posición, sin substituir o primeiro elemento, senón que desprace os elementos anteriores.
- Fai un programa que substitúa un nome da lista (ou chou) por outro que pidamos novo. Fai o exercicio con tres listas como as de abaixo, co nome e apelidos de varios compañeiros.
Tipos de datos Operacións con listas Operacións matemáticas con Python