Python – Eliminar tuplas de longitud K

Dada la lista de tuplas, elimine todas las tuplas con longitud K.

Entrada : test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)], K = 2
Salida : [(4, ) , (8, 6, 7), (1, ), (3, 4, 6, 7)]
Explicación : (4, 5) de len = 2 se elimina.

Entrada : test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)], K = 3
Salida : [(4, 5 ), (4, ), (1, ), (3, 4, 6, 7)]
Explicación : se elimina la tupla de 3 longitudes.

Método #1: Usar la comprensión de listas

Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para todos los elementos en bucle y realizamos la tarea requerida de eliminación de elementos de longitud K usando condiciones.

Python3

# Python3 code to demonstrate working of 
# Remove Tuples of Length K
# Using list comprehension
  
# initializing list
test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing K 
K = 1
  
# 1 liner to perform task
# filter just lengths other than K 
# len() used to compute length
res = [ele for ele in test_list if len(ele) != K]
  
# printing result 
print("Filtered list : " + str(res))
Producción

The original list : [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]
Filtered list : [(4, 5), (8, 6, 7), (3, 4, 6, 7)]

Método #2: Usar filter() + lambda + len() 

Otra forma más de resolver este problema. En esto, realizamos el filtrado usando filter() y la función lambda para extraer solo elementos de longitud no K usando len().

Python3

# Python3 code to demonstrate working of 
# Remove Tuples of Length K
# Using filter() + lambda + len() 
  
# initializing list
test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing K 
K = 1
  
# filter() filters non K length values and returns result
res = list(filter(lambda x : len(x) != K, test_list))
  
# printing result 
print("Filtered list : " + str(res))
Producción

The original list : [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]
Filtered list : [(4, 5), (8, 6, 7), (3, 4, 6, 7)]

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 *