TUTORIAL: Listas, tuplas y diccionarios

  • spork
  • Brewmaster
  • Silver Member
  • Avatar de Usuario
  • Registrado: Sep 22, 2003
  • Mensajes: 6130
  • Loc: Seattle, WA
  • Status: Online

Nota Agosto 10th, 2009, 11:49 am

Introducción


En este tutorial podrás aprender sobre tres estructuras de datos muy importante en Python: listas, tuplas y diccionarios. Estas estructuras desempeñan un papel importante en Python, y proporcionar maneras simples pero eficaces de manipulación de datos.

Este tutorial asume algunos conocimientos básicos de Python, como la sintaxis, el lenguaje construcciones básicas, tipos de datos y variables. Si usted está recién empezando con Python, puede ayudar a leer mi otro tutorial, Introducción a Python, en primer lugar.

Listas


Una lista en Python es un contenedor dinámico que puede contener un número ilimitado de elementos. Elementos se pueden agregar y quitar de la lista, y los artículos no tienen por qué ser homogéneos. En otras palabras, una lista puede contener elementos de diferentes tipos.

Para declarar una lista en Python, usamos los corchetes "[]" en torno a una lista de los objetos, o vacío entre corchetes para declarar una lista vacía:

PYTHON Código: [ Select ]
 
#declare an empty list
my_list = []
 
#a list with 7 integer elements
my_other_list = [1, 2, 5, 7, 10, 3, 8]
 
#a list with elements of different types
yet_another_list = [7, "hello world", 5.235, True, 3, 6]
  1.  
  2. #declare an empty list
  3. my_list = []
  4.  
  5. #a list with 7 integer elements
  6. my_other_list = [1, 2, 5, 7, 10, 3, 8]
  7.  
  8. #a list with elements of different types
  9. yet_another_list = [7, "hello world", 5.235, True, 3, 6]


Las listas pueden ser indexados, como matrices, comenzando con el desplazamiento del cero:

PYTHON Código: [ Select ]
my_list = [7, "hello world", 5.235, True, 3, 6]
 
print my_list[1]  #prints "hello world"
print my_list[4]  #prints "3"
  1. my_list = [7, "hello world", 5.235, True, 3, 6]
  2.  
  3. print my_list[1]  #prints "hello world"
  4. print my_list[4]  #prints "3"


Un subconjunto de una lista se puede obtener la especificación de un principio y final del índice. Todos los elementos del índice de inicio de hasta (pero sin incluir) el índice final se incluirá en el resultado. Dejando fuera el principio o el índice final incluirá todos los elementos desde el principio o al final, respectivamente.

PYTHON Código: [ Select ]
original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
subset_list = original_list[3:11]
#subset contains [4, 5, 6, 7, 8, 9, 10, 11]
 
subset_list = original_list[:5]
#subset contains [1, 2, 3, 4, 5]
 
subset_list = original_list[:5]
#subset contains [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
  1. original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
  2. subset_list = original_list[3:11]
  3. #subset contains [4, 5, 6, 7, 8, 9, 10, 11]
  4.  
  5. subset_list = original_list[:5]
  6. #subset contains [1, 2, 3, 4, 5]
  7.  
  8. subset_list = original_list[:5]
  9. #subset contains [6, 7, 8, 9, 10, 11, 12, 13, 14, 15]


Hay número de métodos de disponibles para la manipulación de listas, lo que les permite ser usado como otras estructuras de datos, así como las colas y las pilas.

PYTHON Código: [ Select ]
my_list = [1, 2, 3]
my_list.append("hello")
#my_list now contains [1, 2, 3, "hello"]
 
my_list.append(["hello", 4, 5, 6])
#my_list now contains [1, 2, 3, ["hello", 4, 5, 6]]
  1. my_list = [1, 2, 3]
  2. my_list.append("hello")
  3. #my_list now contains [1, 2, 3, "hello"]
  4.  
  5. my_list.append(["hello", 4, 5, 6])
  6. #my_list now contains [1, 2, 3, ["hello", 4, 5, 6]]

#Observe que la lista completa se adjunta como un objeto

my_list. ampliar ([ "hola", 4, 5, 6])
#my_list contiene en la actualidad [1, 2, 3, "hola", 4, 5, 6] [/ code]
#este tiempo, se añaden los elementos individuales

Tuplas


Una tupla, como una lista, es un contenedor que puede contener un número arbitrario de objetos heterogéneos. Sin embargo, las tuplas se inmutable , Es decir, sus elementos no pueden ser modificados, y los elementos no se puede añadir a / eliminado de la tupla.

Las tuplas se pueden crear mediante la especificación de un conjunto de objetos separados por comas:

PYTHON Código: [ Select ]
my_tuple = "hello", 4, 27.89


Pare notheses son opcionales cuando se crea una tupla, pero son necesarios cuando se declara una tupla vacía o la creación de tuplas anidadas:

PYTHON Código: [ Select ]
#an empty tuple
my_tuple = ()
 
#a nested tuple
my_tuple = ("hello", ("4, True, "python"))
  1. #an empty tuple
  2. my_tuple = ()
  3.  
  4. #a nested tuple
  5. my_tuple = ("hello", ("4, True, "python"))


Tuplas son especialmente útiles para el retorno de los valores del mutiple de una función:

PYTHON Código: [ Select ]
def getNameAndAge():
    return name, age
 
results = getNameAndAge()
  1. def getNameAndAge():
  2.     return name, age
  3.  
  4. results = getNameAndAge()


Las tuplas se pueden desempaquetado en variables individuales, así:

PYTHON Código: [ Select ]
my_tuple = ("hello", 56, True)
my_string, my_num, my_bool = my_tuple
  1. my_tuple = ("hello", 56, True)
  2. my_string, my_num, my_bool = my_tuple


Uso de la mismo concepto, se puede incluso utilizar el desembalaje para recibir directamente los valores de retorno de la función anterior:

PYTHON Código: [ Select ]
name, age = getNameAndAge()


Diccionarios


Un diccionario de mapas de un conjunto de objetos (llaves) a otro conjunto de objetos (los valores). Un diccionario funciona de manera similar a una matriz asociativa o un mapa en otros idiomas. Diccionarios, como listas, son mutables.

Diccionarios se pueden crear en un número de maneras. Una forma común es crear una lista de pares clave / valor dentro de llaves:

PYTHON Código: [ Select ]
# key/value pairs
my_dict = {'name':'Jeff', 'age':23, 'member':True}
  1. # key/value pairs
  2. my_dict = {'name':'Jeff', 'age':23, 'member':True}


Otra forma es crear una lista de pares utilizando el dict () constructor:

PYTHON Código: [ Select ]
# list of pairs
my_dict = dict([('name', 'Jeff'), ('age', 23), ('member', True)])
  1. # list of pairs
  2. my_dict = dict([('name', 'Jeff'), ('age', 23), ('member', True)])


Y si todas las llaves van a ser las cadenas, puede simplemente usar el operador de asignación para crear los pares:

PYTHON Código: [ Select ]
# using the assignment operator
my_dict = dict(foo=12, bar=18, baz=244)
  1. # using the assignment operator
  2. my_dict = dict(foo=12, bar=18, baz=244)


Los elementos individuales de un diccionario se pueden añadir, acceder, cambiar y eliminar mediante el operador de índice ([]) para acceder a los elementos por los que las claves:

PYTHON Código: [ Select ]
my_dict = {'name':'Jeff', 'age':23, 'member':True}
 
# access
print my_dict['name']
 
# modify
my_dict['name'] = 'Bill'
 
# add
my_dict['height'] = 72
 
# delete
del my_dict['age']
  1. my_dict = {'name':'Jeff', 'age':23, 'member':True}
  2.  
  3. # access
  4. print my_dict['name']
  5.  
  6. # modify
  7. my_dict['name'] = 'Bill'
  8.  
  9. # add
  10. my_dict['height'] = 72
  11.  
  12. # delete
  13. del my_dict['age']


Conclusión


Ahora debe tener un conocimiento breve de tres de pitones más comunes las estructuras de datos. Hay mucho más que aprender acerca de cada una de estas estructuras, pero esas complejidades tendrá que esperar hasta tutoriales futuro. Por el momento, echa un vistazo a la Documentación de Python en las estructuras de datos Para obtener más información sobre los métodos específicos de cada estructura.

Yo siempre bienvenidos preguntas o comentarios acerca de este tutorial. Basta con enviar una respuesta o PM me im glad to help!
The Beer Monocle. Classy.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Agosto 10th, 2009, 11:49 am

Publicar Información

  • Total de mensajes en este tema: 1 mensaje
  • Moderador: Tutorial Writers
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC