Listas en Python

Declaración de lista

lista = list()

lista = []

lista = [1, 2, 3, 4]

lista = [1, 2, 'Hola', [3, 4]]

Visualizar los elementos de una lista

print(lista[0])
# 1
for i in range(len(lista)):
print(lista[i])
# 1
# 2
# Hola
# [3, 4]

Añadir elementos a una lista

lista.append(5)
print(lista)
# [1, 2, 'Hola', [3, 4], 5]
lista.append([6,7])
print(lista)
# [1, 2, 'Hola', [3, 4], 5, [6, 7]]
lista.extend([8,8,8])
print(lista)
# [1, 2, 'Hola', [3, 4], 5, [6, 7], 8, 8, 8]

Borrar elementos de una lista

lista.remove(2)
print(lista)
# [1, 'Hola', [3, 4], 5, [6, 7], 8, 8, 8]

Contar número de apariciones de un elemento

n = lista.count(8)
print(n)
# 3

Determinar la posición en la que se encuentra un elemento en la lista

n = lista.index(1)
print(n)
# 1
n = lista.index('Hola')
print(n)
# 1

Devolver la lista al revés

lista.reverse()
print(lista)
# [8, 8, 8, [6, 7], 5, [3, 4], 'Hola', 1]

Añadir valores nulos a la lista

lista.append(float('NaN'))
print(lista)

Eliminar valores nulos de lista simple

import numpy
lista = ['A', 'B', numpy.nan, 'D']
lista = [x for x in lista if str(x) != 'nan']
print(lista)
# ['A', 'B', 'D']

Eliminar duplicados

lista = ['A','B','C','D','A','A']
lista = set(lista)
print(sorted(lista)) # Es necesario ordenarlo ya que lo descolora
# ['A', 'B', 'C', 'D']

Reemplazar partes de string en una lista

lista = ['pececin','pececillo','pececilla']
lista = [words.replace('pece', 'salmon') for words in lista]
print(lista)

# ['salmoncin', 'salmoncillo', 'salmoncilla']

Eliminar espacios delante y detrás las palabras

lista = ['pececin ',' pececillo ',' pececilla']
lista = [words.split() for words in lista]
print(lista)

# [['pececin'], ['pececillo'], ['pececilla']]

Eliminar espacios demás entre palabras

lista = ['pececin  primero',' pececillo   segundo',' pececilla tercera']
lista = [words.replace('   ', ' ') for words in lista]
lista = [words.replace('  ', ' ') for words in lista]
print(lista)

# ['pececin primero', ' pececillo segundo', ' pececilla tercera']

Dividir dos listas elemento por elemento

a = [10,20,30,40,50,60,70,80,90]
b = [10,20,30,40,50,60,70,80,90]
c = [x/y for x, y in zip(a, b)]
print(c)

# [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]

Calcular media una parte del array

import numpy as np

l = np.array([1, 2, 3, 4])

print( l[l>2] )
print( np.mean(l[l>2]) )