📅  最后修改于: 2023-12-03 15:34:18.383000             🧑  作者: Mango
在开发中,划分两个列表是一个很常见的需求。例如,将一个列表按照某个元素划分成两个列表,或者按照某种条件筛选出其中的一部分元素形成一个新的列表。在 Python 中实现这个功能非常简单,本文将介绍几种常见的实现方式。
def split_list_by_element(input_list, element):
left_list = []
right_list = []
for item in input_list:
if item == element:
right_list.append(item)
else:
left_list.append(item)
return left_list, right_list
def split_list_by_criteria(input_list, criteria):
left_list = [item for item in input_list if criteria(item)]
right_list = [item for item in input_list if not criteria(item)]
return left_list, right_list
>>> input_list = [1, 2, 3, 4, 5, 6]
>>> element = 4
>>> left_list, right_list = split_list_by_element(input_list, element)
>>> left_list
[1, 2, 3]
>>> right_list
[4, 5, 6]
以将一个列表中的奇数和偶数分开为例:
>>> input_list = [1, 2, 3, 4, 5, 6]
>>> left_list, right_list = split_list_by_criteria(input_list, lambda x: x % 2 == 1)
>>> left_list
[1, 3, 5]
>>> right_list
[2, 4, 6]
以上就是 Python 中划分两个列表的两种常见实现方式。使用循环和使用列表推导式都是非常简单的方式,根据实际情况选择即可。