将数组分成两半

时间:2018-03-01 18:27:13

标签: python arrays numpy

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

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]

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

试试这个

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

答案 2 :(得分: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]