在 Python 中根据条件拆分列表
Split a list based on a condition in Python
根据条件拆分列表:
- 声明两个新变量并将它们初始化为空列表。
- 使用
for
循环遍历原始列表。 - 检查每个项目是否满足条件。
- 将满足条件的项目附加到一个列表,将不符合条件的项目附加到另一个列表。
主程序
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
。
如果满足条件,我们将该值附加到第三个列表。
或者,您可以使用列表理解。
使用列表理解根据条件拆分列表
根据条件拆分列表:
- 使用列表理解来遍历列表。
- 检查每个项目是否满足条件。
- 新列表将只包含满足条件的项目。
主程序
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
循环来检查更多复杂条件。