Dada la lista de tuplas, rango de inicio y valores de rango final, extraiga los rangos que faltan en la lista.
Entrada : test_list = [(7, 2), (15, 19), (38, 50)], strt_val = 5, stop_val = 60
Salida : [(5, 7), (2, 60), (2, 15 ), (19, 60), (19, 38), (50, 60)]
Explicación : los rangos de elementos faltantes que comienzan en 5 y terminan en 50-60 se emiten según se desee.Entrada : test_list = [(7, 2), (15, 19), (38, 50)], strt_val = 1, stop_val = 52
Salida : [(1, 7), (2, 60), (2, 15) ), (19, 60), (19, 38), (50, 52)]
Explicación : similar al anterior, solo se modifican los rangos.
Método: Uso de bucle
Este es un método de fuerza bruta en el que se puede realizar esta tarea. En esto, hacemos un seguimiento de los valores de inicio y finalización, y seguimos agregando los rangos que faltan. Por último, es importante verificar si algún rango queda por debajo del rango más alto.
# Python3 code to demonstrate working of # Extract Missing Ranges # Using loop # initializing lists test_list = [(6, 9), (15, 34), (48, 70)] # printing original list print("The original list is : " + str(test_list)) # initializing start val strt_val = 2 # initializing stop val stop_val = 100 # Using loop res = [] for sub in test_list: # checking for start range if sub[0] > strt_val: res.append((strt_val, sub[0])) strt_val = sub[1] # checking for end range if strt_val < stop_val: res.append((strt_val, stop_val)) # printing result print("Missing range tuples : " + str(res))
The original list is : [(6, 9), (15, 34), (48, 70)] Missing range tuples : [(2, 6), (9, 100), (9, 15), (34, 100), (34, 48), (70, 100)]
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