2024-04-26 00:03:08 发布
网友
我正在寻找一种方法来轻松地将python列表分成两半。
如果我有一个数组:
A = [0,1,2,3,4,5]
我可以得到:
B = [0,1,2] C = [3,4,5]
一个更通用的解决方案(您可以指定所需的部件数量,而不仅仅是一分为二):
编辑:更新了post以处理奇数列表长度
EDIT2:根据Brians信息性评论再次更新帖子
def split_list(alist, wanted_parts=1): length = len(alist) return [ alist[i*length // wanted_parts: (i+1)*length // wanted_parts] for i in range(wanted_parts) ] A = [0,1,2,3,4,5,6,7,8,9] print split_list(A, wanted_parts=1) print split_list(A, wanted_parts=2) print split_list(A, wanted_parts=8)
f = lambda A, n=3: [A[i:i+n] for i in range(0, len(A), n)] f(A)
n-结果数组的预定义长度
n
A = [1,2,3,4,5,6] B = A[:len(A)//2] C = A[len(A)//2:]
如果需要函数:
def split_list(a_list): half = len(a_list)//2 return a_list[:half], a_list[half:] A = [1,2,3,4,5,6] B, C = split_list(A)
一个更通用的解决方案(您可以指定所需的部件数量,而不仅仅是一分为二):
编辑:更新了post以处理奇数列表长度
EDIT2:根据Brians信息性评论再次更新帖子
n
-结果数组的预定义长度如果需要函数:
相关问题 更多 >
编程相关推荐