Python: encuentra números en el rango y no en el conjunto

Dado un conjunto y un rango de números, la tarea es escribir un programa Python para extraer todos los números en el rango que no están en el conjunto.

Ejemplos:

Input : test_set = {6, 4, 2, 7, 9}, low, high = 5, 10
Output : [5, 8]
Explanation : 6, 7 and 9 are present in set, remaining 5, 8 are in output.

Input : test_set = {6, 4, 2, 7, 9}, low, high = 5, 8
Output : [5]
Explanation : 6 and 7 are present in set, remaining 5 is in output.

Método #1: Usar bucle

En esto, iteramos para todos los elementos en el rango y usando declaraciones condicionales omitimos los elementos del resultado que no están presentes en el conjunto.

Python3

# Python3 code to demonstrate working of
# Range Numbers not in set
# Using loop
  
# initializing set
test_set = {6, 4, 2, 7, 9}
  
# printing original set
print("The original set is : " + str(test_set))
  
# initializing range
low, high = 5, 10
  
res = []
for ele in range(low, high):
  
    # getting elements not in set
    if ele not in test_set:
        res.append(ele)
  
# printing result
print("Elements not in set : " + str(res))

Producción:

The original set is : {2, 4, 6, 7, 9}
Elements not in set : [5, 8]

Método #2: Usar el operador «-«

En esto, realizamos la tarea de obtener la diferencia del rango a través de elementos establecidos usando el operador «-«.

Python3

# Python3 code to demonstrate working of
# Range Numbers not in set
# Using "-" operator
  
# initializing set
test_set = {6, 4, 2, 7, 9}
  
# printing original set
print("The original set is : " + str(test_set))
  
# initializing range
low, high = 5, 10
  
# using "-" operator to get difference
res = list(set(range(low, high)) - test_set)
  
# printing result
print("Elements not in set : " + str(res))

Producción:

The original set is : {2, 4, 6, 7, 9}
Elements not in set : [8, 5]

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 *