Dada Lista de tuplas, filtra las tuplas que tienen los mismos valores.
Entrada : test_list = [(5, 6, 5, 5), (6, 6, 6), (9, 10)]
Salida : [(6, 6, 6)]
Explicación : 1 tupla con los mismos elementos.Entrada : test_list = [(5, 6, 5, 5), (6, 5, 6), (9, 10)]
Salida : []
Explicación : No hay tupla con los mismos elementos.
Método n.º 1: usar la comprensión de listas + set() + len()
En esto, verificamos que la longitud de la tupla convertida establecida sea 1, si eso se verifica, la tupla se agrega al resultado, de lo contrario, se omite.
Python3
# Python3 code to demonstrate working of # Filter similar elements Tuples # Using list comprehension + set() + len() # initializing list test_list = [(5, 6, 5, 5), (6, 6, 6), (1, 1), (9, 10)] # printing original list print("The original list is : " + str(test_list)) # length is computed using len() res = [sub for sub in test_list if len(set(sub)) == 1] # printing results print("Filtered Tuples : " + str(res))
The original list is : [(5, 6, 5, 5), (6, 6, 6), (1, 1), (9, 10)] Filtered Tuples : [(6, 6, 6), (1, 1)]
Método #2: Usando filter() + lambda + set() + len()
En esto, realizamos la tarea de filtrar usando filter(), y la lógica de un solo elemento se verifica en la función lambda usando set() y len().
Python3
# Python3 code to demonstrate working of # Filter similar elements Tuples # Using filter() + lambda + set() + len() # initializing list test_list = [(5, 6, 5, 5), (6, 6, 6), (1, 1), (9, 10)] # printing original list print("The original list is : " + str(test_list)) # end result converted to list object # filter extracts req. tuples res = list(filter(lambda sub : len(set(sub)) == 1, test_list)) # printing results print("Filtered Tuples : " + str(res))
The original list is : [(5, 6, 5, 5), (6, 6, 6), (1, 1), (9, 10)] Filtered Tuples : [(6, 6, 6), (1, 1)]
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