Python: frecuencia de tupla única (independientemente del orden)

Dada la lista de tuplas, extraiga la frecuencia de las tuplas únicas en el orden de la lista independientemente.

Entrada : test_list = [(3, 4), (1, 2), (4, 3), (3, 4)]
Salida : 2
Explicación : (3, 4), (4, 3), (3, 4) ) hace 1 y (1, 2) es el segundo elemento único.

Entrada : test_list = [(3, 7), (1, 2), (4, 3), (5, 6)]
Salida : 4
Explicación : Todos son diferentes en cualquier orden.

Método #1: Usartuple() + generator expression + sorted() + len()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de ordenar usando sorted(), para eliminar la restricción de orden. El len() se usa para calcular el tamaño.

# Python3 code to demonstrate working of 
# Unique Tuple Frequency [ Order Irrespective ]
# Using tuple() + list comprehension + sorted() + len()
  
# initializing lists
test_list = [(3, 4), (1, 2), (4, 3), (5, 6)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Using tuple() + list comprehension + sorted() + len()
# Size computed after conversion to set
res = len(list(set(tuple(sorted(sub)) for sub in test_list)))
  
# printing result 
print("Unique tuples Frequency : " + str(res)) 
Producción :

The original list is : [(3, 4), (1, 2), (4, 3), (5, 6)]
Unique tuples Frequency : 3

Método #2: Usarmap() + sorted() + tuple() + set() + len()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extender la lógica de clasificación y la conversión de tuplas usando map(), set() se usa para eliminar duplicados y len() se usa para encontrar la longitud del contenedor.

# Python3 code to demonstrate working of 
# Unique Tuple Frequency [ Order Irrespective ]
# Using map() + sorted() + tuple() + set() + len()
  
# initializing lists
test_list = [(3, 4), (1, 2), (4, 3), (5, 6)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Using map() + sorted() + tuple() + set() + len()
# inner map used to perform sort and outer sort to
# convert again in tuple format
res = len(list(set(map(tuple, map(sorted, test_list)))))
  
# printing result 
print("Unique tuples Frequency : " + str(res)) 
Producción :

The original list is : [(3, 4), (1, 2), (4, 3), (5, 6)]
Unique tuples Frequency : 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *