A veces, mientras trabajamos con datos de Python, podemos tener un problema en el que necesitamos encontrar la posición del elemento en tuplas continuas equidistantes en la lista. Este problema tiene aplicaciones en muchos dominios, incluida la programación día a día y la programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada :
lista_prueba = [(0, 10), (11, 20), (21, 30), (31, 40)]
K = 37
Salida : 3
Entrada :
lista_prueba = [(0, 9), (10, 19 ), (20, 29), (30, 39)]
K = 37
Salida : 3
Método n.º 1: Usar bucle
Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, iteramos por todos los elementos en la lista y luego usando operadores de comparación, encontramos la posición del elemento deseado.
Python3
# Python3 code to demonstrate working of # Element Index in Range Tuples # Using loop # initializing list test_list = [(0, 10), (11, 20), (21, 30), (31, 40), (41, 50)] # printing original list print("The original list is : " + str(test_list)) # initializing Element K = 37 # Element Index in Range Tuples # Using loop res = None for idx, ele in enumerate(test_list): if K >= ele[0] and K <= ele[1]: res = idx # printing result print("The position of element : " + str(res))
The original list is : [(0, 10), (11, 20), (21, 30), (31, 40), (41, 50)] The position of element : 3
Método n.º 2: usar la fórmula
La posición del elemento también se puede dividir sin usar un ciclo, pero para extraer lo mismo usando la división del elemento con el tamaño del rango, siendo consistente.
Python3
# Python3 code to demonstrate working of # Element Index in Range Tuples # Using formula # initializing list test_list = [(0, 10), (11, 20), (21, 30), (31, 40), (41, 50)] # printing original list print("The original list is : " + str(test_list)) # initializing Element K = 37 # Element Index in Range Tuples # Using formula res = (K // (test_list[0][1] - test_list[0][0])) # printing result print("The position of element : " + str(res))
The original list is : [(0, 10), (11, 20), (21, 30), (31, 40), (41, 50)] The position of element : 3
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