Python: diferencia entre el corte de longitud Uni y la notación de acceso

Hay varias formas de extraer elementos, el corte de longitud Uni y las notaciones de acceso se encuentran entre ellas. Vamos a comprobar la diferencia entre ellos.

Diferencia #1: Comportamiento diferente con diferentes contenedores

La notación de acceso devuelve el elemento tanto en la Lista como en las Strings, pero devuelve strings de 1 longitud mientras se rebana usando un segmento de longitud uni y el elemento en el caso de las strings.

Python3

# Python3 code to demonstrate working of 
# Difference between Uni length slicing and Access Notation
# In different containers
  
# initializing lists
test_list = [5, 7, 2, 6, 8, 1]
  
# initializing string 
test_str = "572681"
  
# printing original list
print("The original list : " + str(test_list))
  
# printing string
print("The original string : " + str(test_str))
print("\r")
  
# access Notation results 
acc_list = test_list[3]
acc_str = test_str[3]
  
# unilength slicing results 
slc_list = test_list[3 : 4]
slc_str = test_str[3 : 4]
  
# printing results 
print("The access notation result for list : " + str(acc_list))
print("The access notation result for string : " + str(acc_str))
print("\r")
print("The slicing result for list : " + str(slc_list))
print("The slicing result for string : " + str(slc_str))
Producción

The original list : [5, 7, 2, 6, 8, 1]
The original string : 572681

The access notation result for list : 6
The access notation result for string : 6

The slicing result for list : [6]
The slicing result for string : 6

Diferencia n.º 2: Sin índice fuera de los límites Excepción en el caso de la operación Slice

No hay una excepción fuera de los límites en el caso de la Operación Slice, pero la hay en el caso de la notación de acceso.

Python3

# Python3 code to demonstrate working of 
# Difference between Uni length slicing and Access Notation
# No Index out of bounds Exception in case of Slice operation
  
# initializing lists
test_list = [5, 7, 2, 6, 8, 1]
  
# printing string
print("The original list : " + str(test_list))
  
# access Notation results 
try :
    acc_list = test_list[17]
except Exception as e:
    acc_list = str(e)
      
# unilength slicing results 
slc_list = test_list[17 : 18]
  
# printing results 
print("The access notation result for list : " + str(acc_list))
print("The slicing result for list : " + str(slc_list))
Producción

The original list : [5, 7, 2, 6, 8, 1]
The access notation result for list : list index out of range
The slicing result for list : []

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *