Lista de Python
El lenguaje de programación Python tiene cuatro tipos de datos de colección, a saber , Lista, Tupla, Conjunto y Diccionario . Una lista es una colección mutable y ordenada, es decir, los elementos de la lista se pueden cambiar y mantiene el orden de inserción de sus elementos. Debido a la propiedad de mantener el orden, cada elemento de la lista tiene un índice fijo y permite que la lista tenga elementos duplicados. En Python, la lista es muy útil ya que tiene la capacidad de contener elementos no homogéneos.
Las siguientes son algunas operaciones que se pueden realizar en la lista:
# Python program to demonstrate # some operations on list # Declaring a List of integers IntList = [10, 20, 30] print("List of numbers: ") # Printing the list print(IntList) # Declaring a List of strings StrList = ["Geeks", "For", "Geeks"] print("List of Strings: ") # Printing the list print(StrList) # Declaring a list of non-homogeneous elements Non_homogeneous_list = [10, "Geeks", 20.890,\ "for", 30, "geeks"] print("List of non-homogeneous elements: ") # Printing the list print(Non_homogeneous_list) # Printing size of a list print("Size of the Non-homogeneous list: ",\ len(Non_homogeneous_list)) # Declaring a list NewList = ["Geeks", "for", "Geeks"] print("Original List: ", NewList) # Adding an item to the list # Adding an item in the list # using the append method NewList.append("the") # Printing the modified list print("After adding an element the"\ "list becomes: ") print(NewList) # Adding an item in the list using the insert # method to add an element at a specific position NewList.insert(3, "is") # Printing the modified list print("After adding an element at"\ "index 3 the list becomes: ") print(NewList) # Adding multiple items to the list at the # end using extend method NewList.extend(["best", "CS", "website"]) # Printing the modified list print("After adding 3 elements at the"\ "end, the list becomes: ") print(NewList) # Removing an item from the list # Removing an element by # writing the element itself NewList.remove("the") # Printing the modified list print("After removing an element"\ "the list becomes: ") print(NewList) # Removing an element by # specifying its position NewList.pop(3) # Printing the modified list print("After removing an element "\ "from index 3 the list becomes: ") print(NewList)
List of numbers: [10, 20, 30] List of Strings: ['Geeks', 'For', 'Geeks'] List of non-homogeneous elements: [10, 'Geeks', 20.89, 'for', 30, 'geeks'] Size of the Non-homogeneous list: 6 Original List: ['Geeks', 'for', 'Geeks'] After adding an element thelist becomes: ['Geeks', 'for', 'Geeks', 'the'] After adding an element atindex 3 the list becomes: ['Geeks', 'for', 'Geeks', 'is', 'the'] After adding 3 elements at theend, the list becomes: ['Geeks', 'for', 'Geeks', 'is', 'the', 'best', 'CS', 'website'] After removing an elementthe list becomes: ['Geeks', 'for', 'Geeks', 'is', 'best', 'CS', 'website'] After removing an element from index 3 the list becomes: ['Geeks', 'for', 'Geeks', 'best', 'CS', 'website']
Para obtener un conocimiento más profundo sobre la lista de python, haga clic aquí .
Array de Python
Las arrays de Python también son una colección, pero sus elementos se almacenan en ubicaciones de memoria contiguas. Solo puede almacenar elementos homogéneos (elementos del mismo tipo de datos). Las arrays son muy beneficiosas para realizar operaciones matemáticas en los elementos. A diferencia de las listas, las arrays no se pueden declarar directamente. Para crear una array array
, se debe importar el módulo y la sintaxis de la declaración es diferente a la de la lista.
Las siguientes son algunas operaciones que se pueden realizar en la array:
# Python program to demonstrate # some operations on arrays # importing array module import array as arr # declaring an array of integer type # 'i' signifies integer type and # elements inside [] are the array elements a1 = arr.array('i', [10, 20, 30]) # printing array with # data type and elements print("Array a1: ", a1) # printing elements of array print ("Elements of the array"\ "a1 is : ", end = " ") for i in range (len(a1)): print (a1[i], end =", ") print() # Declaring an array of float type # 'd' signifies integer type and # elements inside [] are the array elements a2 = arr.array('d', [1.5, 2.4, 3.9]) # printing elements of array print ("Elements of the array"\ "a2 is : ", end = " ") for i in range (len(a2)): print (a2[i], end =", ") print() # Adding an item to the array # Printing the elements of array a1 print ("Original elements of the"\ "array a1 is : ", end = " ") print(*a1) # Adding an element at the end of # array by using the append method a1.append(40) # printing the modified array print ("Elements of the array a1"\ "after adding an element"\ "at last: ", end = " ") print(*a1) # Adding an element to the array at a # specific index using the insert method a1.insert(3, 35) # printing the modified array print ("Elements of the array a1"\ "after adding an element"\ "at index 3: ", end = " ") print(*a1) # Removing an element from the array # Removing an element by writing the elements itself a1.remove(20) # Printing the modified array print("Array a1 after removing"\ "element 20: ", end = " ") print(*a1) # Removing an element of a specific index # Removing the element of array a1 present at index 2 a1.pop(2) # Printing the modified array print("Array a1 after removing"\ "element of index 2: ", end = " ") print(*a1)
Array a1: array('i', [10, 20, 30]) Elements of the arraya1 is : 10, 20, 30, Elements of the arraya2 is : 1.5, 2.4, 3.9, Original elements of thearray a1 is : 10 20 30 Elements of the array a1after adding an elementat last: 10 20 30 40 Elements of the array a1after adding an elementat index 3: 10 20 30 35 40 Array a1 after removingelement 20: 10 30 35 40 Array a1 after removingelement of index 2: 10 30 40
Para obtener un conocimiento más profundo sobre la array de python, haga clic aquí .
Similitudes en la lista y array de Python
Tanto la array como las listas se utilizan para almacenar los datos: el propósito de la colección es almacenar los datos. Mientras que la lista se usa para almacenar datos homogéneos y no homogéneos, una array solo puede almacenar datos homogéneos.
# Python program to demonstrate data # storing similarities in array and list # importing array module import array as arr # Declaring a Homogeneous List of strings Homogeneous_List = ["Geeks", "For", "Geeks"] print("List of Strings: ") # Printing the list print(Homogeneous_List) # Declaring a list of # non-homogeneous elements Non_homogeneous_list = [10, "Geeks",\ 20.890, "for", 30, "geeks"] print("List of non-homogeneous elements: ") # Printing the list print(Non_homogeneous_list) # declaring an array of float type # 'd' signifies integer type and # elements inside [] are the array elements Homogeneous_array = arr.array('d',\ [1.5, 2.4, 3.9]) # printing elements of array print ("Elements of the array is"\ " : ", end = " ") for i in range (len(Homogeneous_array)): print (Homogeneous_array[i], end =", ")
List of Strings: ['Geeks', 'For', 'Geeks'] List of non-homogeneous elements: [10, 'Geeks', 20.89, 'for', 30, 'geeks'] Elements of the array is : 1.5, 2.4, 3.9,
Tanto List como Array son mutables: List, así como el array, tienen la capacidad de modificar sus elementos, es decir, son mutables.
# Python program to demonstrate # both the list and array is mutable # importing array module import array as arr # Declaring a list List1 = ["Geeks", 1, "Geeks"] # Printing original list print("Original list: ", List1) # Changing the value of the # element at a specific index List1[1] = "for" # Printing modified list print("\nModified list: ", List1) # Declaring an array with integers values Array1 = arr.array('i', \ [10, 20, 30, 37, 50, ]) # Printing original array print ("\nOriginal array: ", end =" ") for i in range (len(Array1)): print (Array1[i], end =" ") # Updating an element in the array Array1[3] = 40 # Printing modified Array: print("\nModified array: ", end ="") for i in range (len(Array1)): print (Array1[i], end =" ")
Original list: ['Geeks', 1, 'Geeks'] Modified list: ['Geeks', 'for', 'Geeks'] Original array: 10 20 30 37 50 Modified array: 10 20 30 40 50
Se puede acceder a los elementos de lista y array por índice e iteración: para acceder a los elementos de lista y array, tenemos la opción de usar el número de índice o podemos recorrerlos por iteración.
# Python program to demonstrate # that elements of list and array can # be accessed through index and iteration # importing array module import array as arr # Declaring a list List1 = [10, 20, 30, 20, 10, 40] # Printing the list print("List1 elements: ", List1, "\n") # Accessing elements of list by index number print("Element at index 0: ", List1[0]) print("Element at index 1: ", List1[1]) print("Element at index 3: ", List1[3]) print("Element at index 4: ", List1[4]) # Accessing elements of the list # using negative indexing # Printing last element of the list print("Element at last index: ", List1[-1]) # Printing 3rd last # the element of the list print("Element at "\ "3rd last index: ", List1[-3]) # Accessing elements of list through iteration print("Accessing through iteration: ", end = " ") for item in range(len(List1)): print(List1[item], end =" ") # Declaring an array Array1 = arr.array('i',\ [10, 20, 30, 40, 50, 60]) print("\nArray1: ", Array1) # Accessing the elements of an array # Access element of # array by index number print("Element of Array1"\ " at index 3: ", Array1[3]) # Accessing elements of # array through iteration print("Accessing through iteration:"\ " ", end = " ") for i in range (len(Array1)): print (Array1[i], end =" ")
List1 elements: [10, 20, 30, 20, 10, 40] Element at index 0: 10 Element at index 1: 20 Element at index 3: 20 Element at index 4: 10 Element at last index: 40 Element at 3rd last index: 20 Accessing through iteration: 10 20 30 20 10 40 Array1: array('i', [10, 20, 30, 40, 50, 60]) Element of Array1 at index 3: 40 Accessing through iteration: 10 20 30 40 50 60
Tanto la lista como la array se pueden dividir: la operación de división es válida tanto para la lista como para la array para obtener un rango de elementos.
# Python program to demonstrate # that both list and array can # be accessed sliced # importing array module import array as arr # Declaring a list List1 = [10, 20, 30, 20, 10, 40] # Accessing a range of elements in the # list using slicing operation # Printing items of the list # from index 1 to 3 print("List elements from "\ "index 1 to 4: ", List1[1:4]) # Printing items of the # list from index 2 to end print("List elements from "\ "index 2 to last: ", List1[2:]) # Declaring an array Array1 = arr.array('i', [10, 20, 30, 40, 50, 60]) # Accessing a range of elements in the # array using slicing operation Sliced_array1 = Array1[1:4] print("\nSlicing elements of the "\ "array in a\nrange from index 1 to 4: ") print(Sliced_array1) # Print elements of the array # from a defined point to end Sliced_array2 = Array1[2:] print("\nSlicing elements of the "\ "array from\n2nd index till the end: ") print(Sliced_array2)
List elements from index 1 to 4: [20, 30, 20] List elements from index 2 to last: [30, 20, 10, 40] Slicing elements of the array in a range from index 1 to 4: array('i', [20, 30, 40]) Slicing elements of the array from 2nd index till the end: array('i', [30, 40, 50, 60])
Diferencias entre la lista de Python y la array:
Diferencia en la creación: a diferencia de la lista que es parte de la sintaxis de Python, una array solo se puede crear importando el módulo de array. Se puede crear una lista simplemente colocando una secuencia de elementos entre corchetes. Todos los códigos anteriores son las pruebas de esta diferencia.
Consumo de memoria entre array y listas: la lista y la array ocupan una cantidad diferente de memoria incluso si almacenan la misma cantidad de elementos. Se ha descubierto que las arrays son más eficientes en este caso, ya que almacenan datos de una manera muy compacta.
# Python program to demonstrate the # difference in memory consumption # of list and array # importing array module import array as arr # importing system module import sys # declaring a list of 1000 elements List = range(1000) # printing size of each element of the list print("Size of each element of"\ " list in bytes: ", sys.getsizeof(List)) # printing size of the whole list print("Size of the whole list in"\ " bytes: ", sys.getsizeof(List)*len(List)) # declaring an array of 1000 elements Array = arr.array('i', [1]*1000) # printing size of each # element of the Numpy array print("Size of each element of "\ "the array in bytes: ", Array.itemsize) # printing size of the whole Numpy array print("Size of the whole array"\ " in bytes: ", len(Array)*Array.itemsize)
Size of each element of list in bytes: 48 Size of the whole list in bytes: 48000 Size of each element of the array in bytes: 4 Size of the whole array in bytes: 4000
Realización de operaciones matemáticas: Las operaciones matemáticas como dividir o sumar cada elemento de la colección con un número determinado se pueden realizar en arrays, pero las listas no admiten este tipo de operaciones aritméticas. Las arrays están optimizadas para este propósito, mientras que para llevar a cabo estas operaciones en la lista, las operaciones deben aplicarse a cada elemento por separado.
# Python program to demonstrate the # difference between list and array in # carrying out mathematical operations # importing array module from numpy import array # declaring a list List =[1, 2, 3] # declaring an array Array = array([1, 2, 3]) try: # adding 5 to each element of list List = List + 5 except(TypeError): print("Lists don't support list + int") # for array try: Array = Array + 5 # printing the array print("Modified array: ", Array) except(TypeError): print("Arrays don't support list + int")
Lists don't support list + int Modified array: [6 7 8]
Cambio de tamaño: las arrays una vez declaradas no se pueden cambiar de tamaño. La única forma es copiar los elementos de la array anterior en una array de mayor tamaño. Mientras que la lista se puede cambiar el tamaño de manera muy eficiente.
Datos que se pueden almacenar: la lista puede almacenar tanto datos homogéneos como no homogéneos, mientras que las arrays solo admiten el almacenamiento de datos homogéneos.
Publicación traducida automáticamente
Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA