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))
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))
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