Operacións con listas

 

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

comando scratch input()

 

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

comando scratch input()

 

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:

  1. 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).
  2. Crea un programa que engada máis elementos ás listas, preguntando novos nomes e apelidos.
  3. Fai un programa que insira un novo elemento na primeira posición, sin substituir o primeiro elemento, senón que desprace os elementos anteriores.
  4. 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. 

[Repl.it: agruparlistas]

Tipos de datos Operacións con listas Operacións matemáticas con Python