根据 Python 中的条件拆分列表

在 Python 中根据条件拆分列表

Split a list based on a condition in Python

根据条件拆分列表:

  1. 声明两个新变量并将它们初始化为空列表。
  2. 使用for循环遍历原始列表。
  3. 检查每个项目是否满足条件。
  4. 将满足条件的项目附加到一个列表,将不符合条件的项目附加到另一个列表。
主程序
my_list = [1, 21, 3, 7, 14, 28, 35] lte_10 = [] gte_10 = [] for item in my_list: if item <= 10: lte_10.append(item) else: gte_10.append(item) print(lte_10) # 👉️ [1, 3, 7] print(gte_10) # 👉️ [21, 14, 28, 35]

我们使用for循环遍历列表。

在每次迭代中,我们检查当前项是否小于或等于10

如果满足条件,我们将该项目附加到lte_10列表中,否则,我们将该项目附加到gte_10.

如果需要,您也可以使用elif子句。

主程序
my_list = [1, 21, 3, 7, 14, 19, 28, 35] lte_10 = [] gte_10 = [] between_10_and_20 = [] for item in my_list: if item <= 10: lte_10.append(item) elif item > 10 and item < 20: between_10_and_20.append(item) else: gte_10.append(item) print(lte_10) # 👉️ [1, 3, 7] print(gte_10) # 👉️ [21, 28, 35] print(between_10_and_20) # 👉️ [14, 19]

elif语句检查当前项目是否大于10和小于20

如果满足条件,我们将该值附加到第三个列表。

或者,您可以使用列表理解。

使用列表理解根据条件拆分列表

根据条件拆分列表:

  1. 使用列表理解来遍历列表。
  2. 检查每个项目是否满足条件。
  3. 新列表将只包含满足条件的项目。
主程序
my_list = [1, 21, 3, 7, 14, 19, 28, 35] lte_10 = [ item for item in my_list if item <= 10 ] print(lte_10) # 👉️ [1, 3, 7] gte_10 = [ item for item in my_list if item >= 10 ] print(gte_10) # 👉️ [21, 14, 19, 28, 35]

我们使用了两个列表理解来遍历列表。

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

在每次迭代中,我们检查是否满足条件并返回匹配项。

新列表只包含满足条件的元素。

您可以使用这种方法来检查任何条件。

您选择哪种方法是个人喜好的问题。在拆分列表时,我会使用列表理解来检查简单条件,并使用for循环来检查更多复杂条件。

发表评论