en una lista en python es posible que sus elementos sean de diferentes tipos, por ejemplo, una misma lista puede tener números enteros, valores booleanos y strings.
Santiago
Chicos, ¿alguien sabe la respuesta?
obtenga en una lista en python es posible que sus elementos sean de diferentes tipos, por ejemplo, una misma lista puede tener números enteros, valores booleanos y strings. de este sitio.
5. Estructuras de datos — documentación de Python
5. Estructuras de datos
Este capítulo describe algunas cosas que ya has aprendido en más detalle y agrega algunas cosas nuevas también.
5.1. Más sobre listas
El tipo de dato lista tiene algunos métodos más. Aquí están todos los métodos de los objetos lista:
list.append(x)
Agrega un ítem al final de la lista. Equivale a a[len(a):] = [x].
list.extend(iterable)
Extiende la lista agregándole todos los ítems del iterable. Equivale a a[len(a):] = iterable.
list.insert(i, x)
Inserta un ítem en una posición dada. El primer argumento es el índice del ítem delante del cual se insertará, por lo tanto a.insert(0, x) inserta al principio de la lista y a.insert(len(a), x) equivale a a.append(x).
list.remove(x)
Quita el primer ítem de la lista cuyo valor sea x. Lanza un ValueError si no existe tal ítem.
list.pop([i])
Quita el ítem en la posición dada de la lista y lo retorna. Si no se especifica un índice, a.pop() quita y retorna el último elemento de la lista. (Los corchetes que encierran a i en la firma del método denotan que el parámetro es opcional, no que deberías escribir corchetes en esa posición. Verás esta notación con frecuencia en la Referencia de la Biblioteca de Python.)
list.clear()
Elimina todos los elementos de la lista. Equivalente a del a[:].
list.index(x[, start[, end]])
Retorna el índice basado en cero del primer elemento cuyo valor sea igual a x. Lanza una excepción ValueError si no existe tal elemento.
Los argumentos opcionales start y end son interpretados como la notación de rebanadas y se usan para limitar la búsqueda a un segmento particular de la lista. El índice retornado se calcula de manera relativa al inicio de la secuencia completa en lugar de con respecto al argumento start.
list.count(x)
Retorna el número de veces que x aparece en la lista.
list.sort(*, key=None, reverse=False)
Ordena los elementos de la lista in situ (los argumentos pueden ser usados para personalizar el orden de la lista, ver sorted() para su explicación).
list.reverse()
Invierte los elementos de la lista in situ.
list.copy()
Retorna una copia superficial de la lista. Equivalente a a[:].
Un ejemplo que usa la mayoría de los métodos de la lista:
>>>
>>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
>>> fruits.count('apple')
2
>>> fruits.count('tangerine')
0
>>> fruits.index('banana')
3
>>> fruits.index('banana', 4) # Find next banana starting a position 4
6
>>> fruits.reverse()
>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']
>>> fruits.append('grape')
>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']
>>> fruits.sort() >>> fruits
['apple', 'apple', 'banana', 'banana', 'grape', 'kiwi', 'orange', 'pear']
>>> fruits.pop() 'pear'
Quizás hayas notado que métodos como insert`, remove o sort que únicamente modifican la lista no tienen impreso un valor de retorno – retornan el valor por defecto None. 1 Esto es un principio de diseño para todas las estructuras de datos mutables en Python.
Otra cosa que puedes observar es que no todos los datos se pueden ordenar o comparar. Por ejemplo, [None, 'hello', 10] no se puede ordenar ya que los enteros no se pueden comparar con strings y None no se puede comparar con los otros tipos. También hay algunos tipos que no tienen una relación de orden definida. Por ejemplo, 3+4j < 5+7j no es una comparación válida.
5.1.1. Usando listas como pilas
Los métodos de lista hacen que resulte muy fácil usar una lista como una pila, donde el último elemento añadido es el primer elemento retirado («último en entrar, primero en salir»). Para agregar un elemento a la cima de la pila, utiliza append(). Para retirar un elemento de la cima de la pila, utiliza pop() sin un índice explícito. Por ejemplo:
>>>
>>> stack = [3, 4, 5]
>>> stack.append(6) >>> stack.append(7) >>> stack [3, 4, 5, 6, 7] >>> stack.pop() 7 >>> stack [3, 4, 5, 6] >>> stack.pop() 6 >>> stack.pop() 5 >>> stack [3, 4]
5.1.2. Usando listas como colas
También es posible usar una lista como una cola, donde el primer elemento añadido es el primer elemento retirado («primero en entrar, primero en salir»); sin embargo, las listas no son eficientes para este propósito. Agregar y sacar del final de la lista es rápido, pero insertar o sacar del comienzo de una lista es lento (porque todos los otros elementos tienen que ser desplazados por uno).
Para implementar una cola, utiliza collections.deque el cual fue diseñado para añadir y quitar de ambas puntas de forma rápida. Por ejemplo:
>>>
>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry") # Terry arrives
>>> queue.append("Graham") # Graham arrives
>>> queue.popleft() # The first to arrive now leaves
'Eric'
>>> queue.popleft() # The second to arrive now leaves
'John'
>>> queue # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])
5.1.3. Comprensión de listas
Listas. Python. Bartolomé Sintes Marco. www.mclibre.org
Listas
Las listas son una estructura de datos muy flexible. Python permite manipular listas de muchas maneras. En esta lección aprenderás algunas de ellas:
Listas
Las listas son conjuntos ordenados de elementos (números, cadenas, listas, etc). Las listas se delimitan por corchetes ([ ]) y los elementos se separan por comas.
Las listas pueden contener elementos del mismo tipo:
>>> primos = [2, 3, 5, 7, 11, 13]
>>> diasLaborables = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"]
O pueden contener elementos de tipos distintos:
>>> fecha = ["Lunes", 27, "Octubre", 1997]
O pueden contener listas:
>>> peliculas = [ ["Senderos de Gloria", 1957], ["Hannah y sus hermanas", 1986]]
Las listas pueden tener muchos niveles de anidamiento:
>>> directores = [ ["Stanley Kubrick", ["Senderos de Gloria", 1957]], ["Woody Allen", ["Hannah y sus hermanas", 1986]] ]
Las variables de tipo lista hacen referencia a la lista completa.
>>> lista = [1, "a", 45]
>>> lista [1, 'a', 45]
Una lista que no contiene ningún elemento se denomina lista vacía:
>>> lista = [ ] >>> lista [ ]
Al definir una lista se puede hacer referencia a otras variables.
>>> nombre = "Pepe" >>> edad = 25
>>> lista = [nombre, edad]
>>> lista ['Pepe', 25]
Como siempre, hay que tener cuidado al modificar una variable que se ha utilizado para definir otras variables, porque esto puede afectar al resto de variables:
Nota: Este punto se trata en la lección Variables 2.Si se trata objetos inmutables, el resto de variables no resultan afectadas, como muestra el siguiente ejemplo:
>>> nombre = "Pepe" >>> edad = 25
>>> lista = [nombre, edad]
>>> lista ['Pepe', 25] >>> nombre = "Juan" >>> lista ['Pepe', 25]
Pero si se trata de objetos mutables y al modificar la variable se modifica el objeto, el resto de variables sí resultan afectadas, como muestra el siguiente ejemplo:
>>> nombres = ["Ana", "Bernardo"]
>>> edades = [22, 21]
>>> lista = [nombres, edades]
>>> lista
[['Ana', 'Bernardo'], [22, 21]]
>>> nombres += ["Cristina"]
>>> lista
[['Ana', 'Bernardo', 'Cristina'], [22, 21]]
Una lista puede contener listas (que a su vez pueden contener listas, que a su vez etc.):
>>> persona1 = ["Ana", 25]
>>> persona2 = ["Benito", 23]
>>> lista = [persona1, persona2]
>>> lista
[['Ana', 25], ['Benito', 23]]
Se puede acceder a cualquier elemento de una lista escribiendo el nombre de la lista y entre corchetes el número de orden en la lista. El primer elemento de la lista es el número 0.
>>> lista = [10, 20, 30, 40]
>>> lista[2] 30 >>> lista[0] 10
Se pueden concatenar dos listas utilizando la operación suma.
>>> lista1 = [10, 20, 30, 40]
>>> lista2 = [30, 20]
>>> lista = lista1 + lista2 + lista1
>>> lista
[10, 20, 30, 40, 30, 20, 10, 20, 30, 40]
Concatenar listas
Las listas se pueden concatenar con el símbolo de la suma (+):
>>> vocales = ["E", "I", "O"]
>>> vocales ['E', 'I', 'O']
>>> vocales = vocales + ["U"]
>>> vocales
['E', 'I', 'O', 'U']
>>> vocales = ["A"] + vocales
>>> vocales
['A', 'E', 'I', 'O', 'U']
El operador suma (+) necesita que los dos operandos sean listas:
>>> vocales = ["E", "I", "O"]
>>> vocales = vocales + "Y"
Traceback (most recent call last):
File "", line 1, invocales = vocales + "Y"
TypeError: can only concatenate list (not "str") to list
También se puede utilizar el operador += para añadir elementos a una lista:
>>> vocales = ["A"]
>>> vocales += ["E"]
>>> vocales ['A', 'E']
Aunque en estos ejemplos, los operadores + y += den el mismo resultado, no son equivalentes, como se explica en la lección de Variables 2.
Manipular elementos individuales de una lista
Cada elemento se identifica por su posición en la lista, teniendo en cuenta que se empieza a contar por 0.
>>> fecha = [27, "Octubre", 1997]
>>> fecha[0] 27 >>> fecha[1] Octubre >>> fecha[2] 1997
No se puede hacer referencia a elementos fuera de la lista:
>>> fecha = [27, "Octubre", 1997]
>>> fecha[3]
Traceback (most recent call last):
File "", line 1, infecha[3]
Index error: list index out of range
Se pueden utilizar números negativos (el último elemento tiene el índice -1 y los elementos anteriores tienen valores descendentes):
>>> fecha = [27, "Octubre", 1997]
>>> fecha[-1] 1997 >>> fecha[-2] Octubre >>> fecha[-3] 27
Se puede modificar cualquier elemento de una lista haciendo referencia a su posición:
>>> fecha = [27, "Octubre", 1997]
>>> fecha[2] = 1998 >>> fecha[0] 27 >>> fecha[1] Octubre >>> fecha[2] 1998
Manipular sublistas
De una lista se pueden extraer sublistas, utilizando la notación nombreDeLista[inicio:límite], donde inicio y límite hacen el mismo papel que en el tipo range(inicio, límite).
>>> dias = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]
list python
El tipo list en Python es una de las estructuras de datos más importantes. En este tutorial aprenderás qué es el tipo list y sus operaciones más comunes.
list python – Listas en Python: El tipo list y operaciones más comunes
Categoría: Tutoriales Python
básico, list, python, tiposdatos, tutorial python
La clase list en Python es una de las más utilizadas por su naturaleza, dinamismo, fácil manejo y potencia. Tengo que decir que el tipo lista de Python me sorprende gratamente y es uno de los grandes aciertos del lenguaje. Descubre en este tutorial qué es el tipo list y cuáles son sus operaciones más comunes para sacarle el máximo provecho.
Índice
Qué es una lista
Cómo acceder a los elementos de una lista en Python
for list Python – Recorrer una lista
Añadir elementos a una lista en Python
Modificar elementos de una lista
Eliminar un elemento de una lista en Python
Longitud (len) de una lista en Python
Cómo saber si un elemento está en una lista en Python
sort list Python – Ordenar una lista en Python
Listado de métodos de la clase list
Qué es una lista
Las listas en Python son un tipo contenedor, compuesto, que se usan para almacenar conjuntos de elementos relacionados del mismo tipo o de tipos distintos.
Junto a las clases tuple, range y str, son uno de los tipos de secuencia en Python, con la particularidad de que son mutables. Esto último quiere decir que su contenido se puede modificar después de haber sido creada.
Para crear una lista en Python, simplemente hay que encerrar una secuencia de elementos separados por comas entre paréntesis cuadrados [].
Por ejemplo, para crear una lista con los números del 1 al 10 se haría del siguiente modo:
>>> numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Como te decía, las listas pueden almacenar elementos de distinto tipo. La siguiente lista también es válida:
>>> elementos = [3, 'a', 8, 7.2, 'hola']
Incluso pueden contener otros elementos compuestos, como objetos u otras listas:
>>> lista = [1, ['a', 'e', 'i', 'o', 'u'], 8.9, 'hola']
Las listas también se pueden crear usando el constructor de la clase, list(iterable). En este caso, el constructor crea una lista cuyos elementos son los mismos y están en el mismo orden que los ítems del iterable. El objeto iterable puede ser o una secuencia, un contenedor que soporte la iteración o un objeto iterador.
Por ejemplo, el tipo str también es un tipo secuencia. Si pasamos un string al constructor list() creará una lista cuyos elementos son cada uno de los caracteres de la cadena:
>>> vocales = list('aeiou')
>>> vocales
['a', 'e', 'i', 'o', 'u']
Termino esta sección mostrando dos alternativas de crear una lista vacía:
>>> lista_1 = [] # Opción 1
>>> lista_2 = list() # Opción 2
Cómo acceder a los elementos de una lista en Python
Para acceder a un elemento de una lista se utilizan los índices. Un índice es un número entero que indica la posición de un elemento en una lista. El primer elemento de una lista siempre comienza en el índice 0.
Por ejemplo, en una lista con 4 elementos, los índices de cada uno de los ítems serían 0, 1, 2 y 3.
>>> lista = ['a', 'b', 'd', 'i', 'j']
>>> lista[0] # Primer elemento de la lista. Índice 0
'a'
>>> lista[3] # Cuarto elemento de la lista. Índice 3
'i'
Si se intenta acceder a un índice que está fuera del rango de la lista, el intérprete lanzará la excepción IndexError. De igual modo, si se utiliza un índice que no es un número entero, se lanzará la excepción TypeError:
>>> lista = [1, 2, 3] # Los índices válidos son 0, 1 y 2
>>> lista[8]
Traceback (most recent call last):
File "", line 1, inIndexError: list index out of range
>>> lista[1.0]
Traceback (most recent call last):
File "", line 1, inTypeError: list indices must be integers or slices, not float
Como hemos visto, las listas pueden contener otros elementos de tipo secuencia de forma anidada. Por ejemplo, una lista que uno de sus ítems es otra lista. Del mismo modo, se puede acceder a los elementos de estos tipos usando índices compuestos o anidados:
>>> lista = ['a', ['d', 'b'], 'z']
>>> lista[1][1] # lista[1] hace referencia a la lista anidada
'b'
Acceso a los elementos usando un índice negativo
En Python está permitido usar índices negativos para acceder a los elementos de una secuencia. En este caso, el índice -1 hace referencia al último elemento de la secuencia, el -2 al penúltimo y así, sucesivamente:
>>> vocales = ['a', 'e', 'i', 'o', 'u']
>>> vocales[-1] 'u' >>> vocales[-4] 'e'
Acceso a un subconjunto de elementos
También es posible acceder a un subconjunto de elementos de una lista utilizando rangos en los índices. Esto es usando el operador [:]:
>>> vocales = ['a', 'e', 'i', 'o', 'u']
>>> vocales[2:3] # Elementos desde el índice 2 hasta el índice 3-1
['i']
>>> vocales[2:4] # Elementos desde el 2 hasta el índice 4-1
['i', 'o']
>>> vocales[:] # Todos los elementos
['a', 'e', 'i', 'o', 'u']
>>> vocales[1:] # Elementos desde el índice 1
['e', 'i', 'o', 'u']
>>> vocales[:3] # Elementos hasta el índice 3-1
['a', 'e', 'i']
También es posible acceder a los elementos de una lista indicando un paso con el operador [::]:
Chicos, ¿alguien sabe la respuesta?