Las listas son como arrays de tamaño dinámico, declaradas en otros lenguajes (vector en C++ y ArrayList en Java). Las listas no necesitan ser siempre homogéneas, lo que las convierte en una herramienta muy poderosa en Python. Una sola lista puede contener tipos de datos como enteros, strings y objetos. Las listas son mutables y, por lo tanto, pueden modificarse incluso después de su creación.
Las listas son una de las herramientas más poderosas de Python. Tienen muchos trucos ocultos que los hacen extremadamente versátiles. ¡Exploremos algunas de estas técnicas útiles que nos hacen la vida mucho más fácil!
Ordenar una lista
Para ordenar una lista en orden ascendente o descendente, usamos la función sort() con la siguiente sintaxis:
For ascending order: list.sort() For descending order: list.sort(reverse=True)
Ejemplo:
Python3
# sorting a list using sort() function my_list = [5, 2, 90, 24, 10] # sorting in ascending order it permanently # changes the order of the list my_list.sort() print(my_list) # sorting in descending order it permanently # changes the order of the list my_list.sort(reverse=True) print(my_list)
Producción:
[2, 5, 10, 24, 90] [90, 24, 10, 5, 2]
Para cambiar temporalmente el orden de la lista, use la función sorted() con la sintaxis:
list.sorted()
Python3
# temporary sorting using sorted() method my_list = [5, 2, 90, 24, 10] # ascending order print(sorted(my_list)) # descending order my_list_2 = sorted(my_list) print(my_list)
Producción:
[2, 5, 10, 24, 90] [5, 2, 90, 24, 10]
Invertir una lista
Para invertir el orden de una lista usamos la función reverse() . Su sintaxis es:
list.reverse()
Ejemplo:
Python3
# reverse a list using reverse() my_list = [5, 2, 90, 24, 10] # reverse my_list.reverse() print(my_list)
Producción:
[10, 24, 90, 2, 5]
O podríamos aplicar la comprensión de listas para invertir una lista:
list = list[::-1]
Ejemplo:
Python3
# reverse using list comprehension my_list = [5, 2, 90, 24, 10] # reverse print(my_list[::-1])
Producción:
[10, 24, 90, 2, 5]
Eliminar duplicados
Como los diccionarios en python no contienen claves duplicadas. Usamos la función dict.fromkeys() para convertir nuestra lista en un diccionario con elementos de lista como claves. Y luego volvemos a convertir el diccionario a la lista.
Este es un poderoso truco para eliminar automáticamente todos los duplicados. Su sintaxis es:
My_list =[‘a’, ’b’, ’c’, ’b’, ’a’] Mylist = list(dict.fromkeys(My_List))
Ejemplo:
Python3
# removing duplicates from a list using dictionaries my_list_1 = [5, 2, 90, 24, 10, 2, 90, 34] my_list_2 = ['a', 'a', 'a', 'b', 'c', 'd', 'd', 'e'] # removing duplicates from list 1 my_list_1 = list(dict.fromkeys(my_list_1)) print(my_list_1) # removing duplicates from list 2 my_list_2 = list(dict.fromkeys(my_list_2)) print(my_list_2)
Producción:
[5, 2, 90, 24, 10, 34] ['a', 'b', 'c', 'd', 'e']
Filtrar una lista
Las listas de Python se pueden filtrar con la ayuda de la función filter() o con la ayuda de la comprensión de listas. A continuación se muestra la sintaxis:
My_list = list(filter(filter_function , iterable_item))
La función Filter devuelve un objeto iterador que debemos volver a convertir en la lista.
Ejemplo:
Python3
# filtering with the help of filter() function # creating a filter function filter all the values less than 20 # filter function def my_filter(n): if n > 20: return n # driver code if __name__ == "__main__": my_list = [5, 2, 90, 24, 10, 2, 95, 36] my_filtered_list = list(filter(my_filter, my_list)) print(my_filtered_list)
Producción:
[90, 24, 95, 36]
También podemos filtrar por comprensión de listas. Es una forma mucho más fácil y elegante de filtrar listas, a continuación se muestra la sintaxis:
My_list = [item for item in my_list if (condition)]
Ejemplo:
Python3
# filtering with the help of list comprehension my_list = [5, 2, 90, 24, 10, 2, 95, 36] # an elegant way to sort the list my_list = [item for item in my_list if item > 20] print(my_list)
Producción:
[90, 24, 95, 36]
Lista de modificación
Para modificar los valores de la lista con la ayuda de una función externa, hacemos uso de la función map(). La función Map() devuelve un objeto de mapa (iterador) de los resultados después de aplicar la función dada a cada elemento de un iterable dado (lista, tupla, etc.). A continuación se muestra la sintaxis:
My_list = list(map(function,iterable))
Ejemplo:
Python3
# using map() function to modify the text def squaring(n): return n**2 # driver code if __name__ == "__main__": my_list = [5, 2, 90, 24, 10, 2, 95, 36] my_squared_list = list(map(squaring, my_list)) print(my_squared_list)
Producción:
[25, 4, 8100, 576, 100, 4, 9025, 1296]
Un enfoque mucho más limpio es usar la comprensión de listas.
Ejemplo:
Python3
# the same result can be obtained by a much pythonic approach # i.e., by using list comprehension my_list = [5, 2, 90, 24, 10, 2, 95, 36] print([i**2 for i in my_list])
Producción:
[25, 4, 8100, 576, 100, 4, 9025, 1296]
Combinando listas
Incluso podemos combinar listas con la ayuda de la función zip() que da como resultado una lista de tuplas. Aquí, cada elemento de la lista A se combina con los elementos correspondientes de la lista B en forma de tupla. A continuación se muestra la sintaxis:
My_list = zip(list_1, list_2)
Ejemplo:
Python3
# combing lists with the help of zip() function my_list_1 = [5, 2, 90, 24, 10] my_list_2 = [6, 3, 91, 25, 12] # combined my_combined_list = list(zip(my_list_1, my_list_2)) print(my_combined_list)
Producción:
[(5, 6), (2, 3), (90, 91), (24, 25), (10, 12)]
Encontrar el elemento más común
Para encontrar el elemento más frecuente hacemos uso de la función set() . La función set() elimina todos los duplicados de la lista y la función max() devuelve el elemento más frecuente (que se encuentra con la ayuda de ‘clave’). La clave es una función de argumento único opcional. A continuación se muestra la sintaxis:
Most_frequent_value =max(set(my_list),key=mylist.count)
Ejemplo :
Python3
# to find the most frequent element from the list my_list = ['a', 'a', 'a', 'b', 'c', 'd', 'd', 'e'] most_frequent_value = max(set(my_list), key=my_list.count) print("The most common element is:", most_frequent_value)
Producción:
The most common element is: a
Comprobar la pertenencia a una lista
Para verificar si un elemento existe en una lista, usamos la instrucción in .
Ejemplo:
Python3
my_list = ['a', 'a', 'a', 'b', 'c', 'd', 'd', 'e'] # to check whether 'c' is a member of my_list # returns true if present print('c' in my_list) # to check whether 'f' is a member of my_list # returns false if not present print('f' in my_list)
Producción:
True False
Aplanar una lista de listas
A veces nos encontramos con una lista donde cada elemento en sí mismo es una lista. Para convertir una lista de listas en una sola lista, usamos la comprensión de listas.
my_list = [item for List in list_of_lists for item in List ]
Ejemplo:
Python3
# to flatten a list_of_lists by using list comprehension list_of_lists = [[1, 2], [3, 4], [5, 6], [7, 8]] # using list comprehension my_list = [item for List in list_of_lists for item in List] print(my_list)
Producción:
[1, 2, 3, 4, 5, 6, 7, 8]
Publicación traducida automáticamente
Artículo escrito por mprerna802 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA