📅  最后修改于: 2023-12-03 15:19:04.936000             🧑  作者: Mango
当我们需要从一个元组中删除特定长度为 K 的元素时,Python为我们提供了许多灵活和方便的方法。
我们可以使用列表解析,使用元组中的 len() 函数对其进行筛选,并返回包含该函数结果为 False 的元素的新元组。
tup = [(1, 2), (3, 4), (5,), (6, 7, 8)]
k = 1
tup = [t for t in tup if len(t)!=k]
print(tup)
这将删除包含单个元素(长度为1)的元组,并返回新的元组列表 [[(1,2), (3,4), (6,7,8)]]
。
另一种方法是使用 Python 的默认函数 filter()
。使用 lambda 函数将元组分配给 len() 函数,并返回长度不等于 K 的元素。
tup = [(1, 2), (3, 4), (5,), (6, 7, 8)]
k = 3
tup = tuple(filter(lambda x: len(x)!=k, tup))
print(tup)
这将返回新的元组 (1, 2), (3, 4), (5,)
,即只保留长度不为 3 的元素。
元组推导是另一种快速删除长度为 K 的元组的方法。在这种情况下,我们可以使用常规的列表推导式,并在最后将其转换为元组。
tup = [(1, 2), (3, 4), (5,), (6, 7, 8)]
k = 2
tup = tuple(t for t in tup if len(t)!=k)
print(tup)
这将返回新的元组 [(3, 4), (5,), (6, 7, 8)]
,即删除长度为 2 的元素。
无论您选择哪种方法,都可以方便地删除长度为 K 的元组。祝你好运,享受Python编程的乐趣!