在 Python 中过滤元组列表

在 Python 中过滤元组列表

Filter a list of tuples in Python

要在 Python 中过滤元组列表:

  1. 使用列表理解来遍历列表。
  2. 从列表理解中返回一个条件。
  3. 新列表将只包含满足条件的元组。
主程序
# ✅ filter a list of tuples using a list comprehension list_of_tuples = [('Alice', 1), ('Bob', 2), ('Carl', 3), ('Dean', 4)] filtered_list = [tup for tup in list_of_tuples if tup[1] > 2] # 👇️ [('Carl', 3), ('Dean', 4)] print(filtered_list) # ------------------------------------------------------------- # ✅ filter a list of tuples using the `filter()` function filtered_list_2 = list( filter( lambda tup: tup[1] > 2, list_of_tuples ) ) # 👇️ [('Carl', 3), ('Dean', 4)] print(filtered_list_2)

我们使用列表理解来过滤元组列表。

列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。

在每次迭代中,我们检查1当前元组的第二项(索引)是否大于2并返回结果。

新列表仅包含条件返回真值的元组。

或者,您可以使用该filter()功能。

要在 Python 中过滤元组列表:

  1. 使用filter()函数过滤列表。
  2. filter函数返回一个包含结果的迭代器。
  3. filter对象传递给list()类以将其转换为列表。
主程序
list_of_tuples = [('Alice', 1), ('Bob', 2), ('Carl', 3), ('Dean', 4)] filtered_list_2 = list( filter( lambda tup: tup[1] > 2, list_of_tuples ) ) # 👇️ [('Carl', 3), ('Dean', 4)] print(filtered_list_2)

filter函数接受一个函数和一个可迭代对象作为参数,并从可迭代对象的元素构造一个迭代器,函数返回一个真值。

filter函数返回一个filter对象,因此我们必须将该filter对象传递给list()类以将其转换为列表。

lambda函数被列表中的每个元组调用,检查元组中的第二项是否大于2并返回结果。

最终列表仅包含满足条件的元组。

发表评论