Comparación entre Listas y Array en Python

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)
Producción:

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)
Producción:

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 =", ")
Producción:

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 =" ") 
Producción:

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 =" ")
Producción:

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) 
Producción:

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) 
Producción:

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") 
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *