将数组分成两半

问题描述 投票:0回答:3

我喜欢将阵列分成前半部分和下半部分。我尝试了以下代码,但它不起作用:

A = [1,2,3,4,5,6]
B = A[:len(A)/2]
C = A[len(A)/2:]

错误消息说:

TypeError: slice indices must be integers or None or have an __index__ method

据说,我应该得到

B = [0,1,2]

C = [3,4,5]

我想知道我应该怎么做?谢谢

python arrays numpy
3个回答
4
投票

你正在做浮动数学 - 使用整数除法:

A = [1,2,3,4,5,6]
B = A[:len(A)//2]
C = A[len(A)//2:]

print(A,B,C)

输出:

([1, 2, 3, 4, 5, 6], [1, 2, 3], [4, 5, 6])

看看这里的运营商:numeric-types-int-float-complex


3
投票

试试这个

A = [1,2,3,4,5,6]
half = len(A)//2
B = A[:half]
C = A[half:]

2
投票

错误消息指出您应该使用整数。你的2分区目前导致浮动。您可以使用int()将其强制转换为整数:

A = [1,2,3,4,5,6]
B = A[:int(len(A)/2)]
C = A[int(len(A)/2):]

print(B)
print(C)

日期:

[1, 2, 3]
[4, 5, 6]
© www.soinside.com 2019 - 2024. All rights reserved.