Python | Probar si el diccionario contiene claves y valores únicos

A veces, solo deseamos trabajar con elementos únicos y no se desea ningún tipo de repetición, para estos casos, necesitamos tener técnicas para resolver estos problemas. Uno de esos problemas puede ser probar claves y valores únicos. Para las claves, son únicas por defecto, por lo tanto, no se requieren pruebas externas, pero en cuanto a los valores, necesitamos tener formas de hacerlo. Probemos varias formas en las que esto se puede hacer.

Método #1: Uso de bucles
En el método Naive para realizar esta tarea en particular, podemos verificar cada valor e insertar cada valor en la lista/hash en el diccionario y cuando ocurra la repetición, simplemente detenga el flujo y devuelva falso.

# Python3 code to demonstrate
# check for unique values
# Using loops
  
# initializing dictionary
test_dict = {'Manjeet' : 1, 'Akash' : 2, 'Akshat' : 3, 'Nikhil' : 1}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# using loops
# check for unique values
flag = False
hash_val = dict()
for keys in test_dict:
    if test_dict[keys] in hash_val:
        flag = True
        break
    else :
        hash_val[test_dict[keys]] = 1
  
# print result
print("Does dictionary contain repetition : " + str(flag))
Producción :

The original dictionary : {'Nikhil': 1, 'Akash': 2, 'Akshat': 3, 'Manjeet': 1}
Does dictionary contain repetition : True

Método #2: Usolen() + set() + values()
Este problema se puede resolver fácilmente usando la combinación de las tres funciones anteriores. La función de configuración se puede usar para convertir los valores en conjuntos, la eliminación de duplicados y la función de valores se puede usar para acceder a los valores.

# Python3 code to demonstrate
# check for unique values
# Using len() + set() + values()
  
# initializing dictionary
test_dict = {'Manjeet' : 1, 'Akash' : 2, 'Akshat' : 3, 'Nikhil' : 1}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# using len() + set() + values()
# check for unique values
flag = len(test_dict) != len(set(test_dict.values()))
  
# print result
print("Does dictionary contain repetition : " + str(flag))
Producción :

The original dictionary : {'Nikhil': 1, 'Akash': 2, 'Akshat': 3, 'Manjeet': 1}
Does dictionary contain repetition : True

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 *