我喜欢将阵列分成前半部分和下半部分。我尝试了以下代码,但它不起作用:
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]
我想知道我应该怎么做?感谢
答案 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]