Dada uma lista, teste se todos os elementos em determinado intervalo são iguais a K.

Entrada : test_list = [2, 3, 4, 4, 4, 4, 6, 7, 8, 2], i, j = 2, 5, K = 4 
Saída : Verdadeiro 
Explicação : Todos os elementos no intervalo são 4.

Entrada : test_list = [2, 3, 4, 9, 4, 4, 6, 7, 8, 2], i, j = 2, 5, K = 4 
Saída : Falso 
Explicação : Todos os elementos no intervalo não são 4. 

Método # 1: usando any()

Nisto, verificamos se a negação da lógica foi encontrada, se obtivemos qualquer elemento diferente de K, retornamos a negação do valor verdade para obter o resultado real.



test_list = [2, 3, 4, 4, 4, 4, 6, 7, 8, 2] 
print("The original list is : " + str(test_list)) 
i, j = 2, 5
K = 4
res = not any(test_list[idx] != K for idx in range(i, j + 1)) 
print("Are all elements in range K ? : " + str(res)) 
Resultado
A lista original é: [2, 3, 4, 4, 4, 4, 6, 7, 8, 2]
Todos os elementos estão no intervalo K? : Verdade

Método 2: usando all() 

Nisto, verificamos se todos os elementos são K no intervalo necessário da lista usando all().

test_list = [2, 3, 4, 4, 4, 4, 6, 7, 8, 2] 
print("The original list is : " + str(test_list)) 
i, j = 2, 5
K = 4
res = all(test_list[idx] == K for idx in range(i, j + 1)) 
print("Are all elements in range K ? : " + str(res)) 
Resultado
A lista original é: [2, 3, 4, 4, 4, 4, 6, 7, 8, 2]
Todos os elementos estão no intervalo K? : Verdade