Python3 Listas

Las secuencias son la estructura de datos más básica en Python.

Cada valor en una secuencia tiene un valor de posición correspondiente, llamado índice. El primer índice es 0, el segundo es 1, y así sucesivamente.

Python tiene 6 tipos integrados de secuencias, pero los más comunes son listas y tuplas.

Las operaciones que se pueden realizar en listas incluyen indexación, segmentación, suma, multiplicación y verificación de membresía.

Además, Python ya tiene métodos integrados para determinar la longitud de una secuencia y para determinar los elementos máximo y mínimo.

La lista es el tipo de datos más utilizado en Python; puede aparecer como valores separados por comas entre corchetes.

Los elementos de datos de una lista no necesitan ser del mismo tipo.

Para crear una lista, solo tienes que encerrar entre corchetes los diferentes elementos de datos separados por comas. Como se muestra a continuación:

list1 = ['Google', 'Ejemplo', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']

Acceder a los valores de una lista

Igual que la indexación de cadenas, la indexación de listas comienza0en 0, el segundo índice es11, y así sucesivamente.

Mediante la indexación, las listas pueden realizar operaciones como segmentación, combinación, etc.

Ejemplo

#!/usr/bin/python3

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

El resultado del ejemplo anterior es:

red
green
blue

La indexación también puede comenzar desde el final; el índice del último elemento es-1-1, un lugar hacia adelante es-2-2, y así sucesivamente.

Ejemplo

#!/usr/bin/python3

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

El resultado del ejemplo anterior es:

black
white
yellow

Usa índices para acceder a los valores de la lista; también puedes usar corchetes[]para segmentar caracteres, como se muestra a continuación:

Ejemplo

#!/usr/bin/python3

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])

El resultado del ejemplo anterior es:

[10, 20, 30, 40]

Segmentar usando valores de índice negativos:

Ejemplo

#!/usr/bin/python3

list = ['Google', 'Ejemplo', "Zhihu", "Taobao", "Wiki"]

# Lee el segundo elemento
print ("list[1]: ", list[1])
# Segmenta desde el segundo elemento (incluido) hasta el penúltimo (no incluido)
print ("list[1:-2]: ", list[1:-2])

El resultado del ejemplo anterior es:

list[1]:  Ejemplo
list[1:-2]:  ['Ejemplo', 'Zhihu']

Actualizar listas

Puedes modificar o actualizar los elementos de una lista; también puedes usar el método append() para añadir elementos a la lista, como se muestra a continuación:

Ejemplo (Python 3.0+)

#!/usr/bin/python3

list = ['Google', 'Ejemplo', 1997, 2000]

print ("El tercer elemento es : ", list[2])
list[2] = 2001
print ("El tercer elemento actualizado es : ", list[2])

list1 = ['Google', 'Ejemplo', 'Taobao']
list1.append('Baidu')
print ("La lista actualizada : ", list1)

Nota:Discutiremos en los próximos capítulosappend()el uso del método.

El resultado del ejemplo anterior es:

第三个元素为 :  1997
更新后的第三个元素为 :  2001
更新后的列表 :  ['Google', 'Ejemplo', 'Taobao', 'Baidu']

Eliminar elementos de una lista

Puedes usar la sentencia del para eliminar elementos de una lista, como en el siguiente ejemplo:

Ejemplo (Python 3.0+)

#!/usr/bin/python3
 
list = ['Google', 'Ejemplo', 1997, 2000]
 
print ("Lista original : ", list)
del list[2]
print ("Eliminar el tercer elemento : ", list)

El resultado del ejemplo anterior es:

原始列表 :  ['Google', 'Ejemplo', 1997, 2000]
删除第三个元素 :  ['Google', 'Ejemplo', 2000]

Nota:Discutiremos el uso del método remove() en los próximos capítulos.


Operadores de script de listas de Python

Los operadores + y * en listas son similares a los de cadenas. El signo + se usa para combinar listas, el signo * para repetir listas.

Como se muestra a continuación:

Expresión de PythonResultadoDescripción
len([1, 2, 3])3Longitud
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]Combinación
['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']Repetición
3 in [1, 2, 3]TrueSi el elemento existe en la lista
for x in [1, 2, 3]: print(x, end=" ")1 2 3Iteración

Segmentación y concatenación de listas de Python

La segmentación de listas de Python es similar a la operación de cadenas, como se muestra a continuación:

L=['Google', 'Ejemplo', 'Taobao']

Operación:

Expresión de PythonResultadoDescripción
L[2]'Taobao'Lee el tercer elemento
L[-2]'Ejemplo'Lee el penúltimo elemento comenzando desde la derecha: count from the right
L[1:]['Ejemplo', 'Taobao']Muestra todos los elementos a partir del segundo elemento
>>> L=['Google', 'Ejemplo', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Ejemplo'
>>> L[1:]
['Ejemplo', 'Taobao']
>>>

Las listas también admiten operaciones de concatenación:

>>> squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>

Listas anidadas

Usar listas anidadas es crear otras listas dentro de una lista, por ejemplo:

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

Comparación de listas

La comparación de listas requiere importaroperatordel móduloeqel método (ver detalles:módulo operator de Python):

Ejemplo

# Importa el módulo operator
import operator

a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))

El resultado del código anterior es:

operator.eq(a,b):  False
operator.eq(c,b):  True

Funciones y métodos de listas de Python

Python incluye las siguientes funciones:

N.ºFunción
1len(list)
Número de elementos de la lista
2max(list)
Devuelve el valor máximo de los elementos de la lista
3min(list)
Devuelve el valor mínimo de los elementos de la lista
4list(seq)
Convierte una tupla en una lista

Python incluye los siguientes métodos:

N.ºMétodo
1list.append(obj)
Añade un nuevo objeto al final de la lista
2list.count(obj)
Cuenta el número de veces que aparece un elemento en la lista
3list.extend(seq)
Añade de una vez varios valores de otra secuencia al final de la lista (extiende la lista original con una nueva lista)
4list.index(obj)
Encuentra la posición del índice de la primera coincidencia de un valor en la lista
5list.insert(index, obj)
Inserta un objeto en la lista
6list.pop([index=-1])
Elimina un elemento de la lista (por defecto el último) y devuelve el valor de ese elemento
7list.remove(obj)
Elimina la primera coincidencia de un valor en la lista
8list.reverse()
Invierte los elementos de la lista
9 list.sort( key=None, reverse=False)
Ordena la lista original
10list.clear()
Vacía la lista
11list.copy()
Copia la lista
Otras extensiones