Python: prueba de frecuencias únicas

Dada una lista, encuentre si las frecuencias de cada elemento de valores son en sí mismos valores únicos.
 

Entrada : test_list = [4, 3, 2] 
Salida : Falso 
Explicación : Todos tienen 1 como frecuencia, por lo tanto, duplicación, por lo tanto, Falso
Entrada : test_list = [4, 3, 3, 2, 2, 2] 
Salida : Verdadero 
Explicación : 1 , 2, 3 son frecuencias de 4, 3, 2 respectivamente, únicas, por lo tanto verdaderas 
 

Método n.º 1: Uso de loop + set() 
La combinación de las funcionalidades anteriores proporciona una forma de fuerza bruta para resolver este problema. En esto, memorizamos la frecuencia de los elementos incrementando el índice de valor ocurrido. Luego, set() se usa para eliminar duplicados y probar si su longitud es la misma que antes de la conversión.
 

Python3

# Python3 code to demonstrate working of
# Test for Unique Frequencies
# Using loop + set()
 
# initializing list
test_list = [4, 3, 2, 2, 3, 4, 4, 4, 1, 2]
 
# printing original list
print("The original list : " + str(test_list))
 
# Test for Unique Frequencies
res = False
temp = [0] * 5
for ele in test_list:
     
    # performing memoization in temp list
    temp[ele] += 1
mem_list = temp[1:]
 
# checking for set converted list length with original list
if len(list(set(mem_list))) == len(mem_list):
    res = True
     
# printing result
print("Are element's Frequencies Unique ? : " + str(res))
Producción : 

The original list : [4, 3, 2, 2, 3, 4, 4, 4, 1, 2]
Are element's Frequencies Unique ? : True

 

 
Método #2: Usar setdefault() + valores() 
La combinación de las funciones anteriores ofrece otra forma de resolver este problema. En esto, el diccionario se usa para memorizar y la frecuencia de los elementos se registra como valores. Por último, se compara el paso similar de extracción de valores y recuento de claves de diccionario para determinar la igualdad.
 

Python3

# Python3 code to demonstrate working of
# Test for Unique Frequencies
# Using setdefault() + values()
 
# initializing list
test_list = [4, 3, 2, 2, 3, 4, 4, 4, 1, 2]
 
# printing original list
print("The original list : " + str(test_list))
 
# Test for Unique Frequencies
# Using setdefault() + values()
temp = {}
for ele in test_list:
     
    # setting default value to 0
    temp.setdefault(ele, 0)
    temp[ele] += 1
 
# checking for values and keys equality
res = len(set(temp.values())) == len(temp)
     
# printing result
print("Are element's Frequencies Unique ? : " + str(res))
Producción : 

The original list : [4, 3, 2, 2, 3, 4, 4, 4, 1, 2]
Are element's Frequencies Unique ? : 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 *