(X_train, X_test) = X[50:], X[:50]
分裂是如何发生的?请提供内在的解释。
答案 0 :(得分:2)
在一个简单的列表中采用以下示例:
a = [0, 1, 2, 3, 4, 5, 6, 7]
print(a[:3])
print(a[3:])
将输出
[0, 1, 2]
# [:3] returns everything from the start, to before the third index
[3, 4, 5, 6, 7]
# [3:] returns everything from the third index to the end
扩展到[50:]
和[:50]
将返回从第50个索引到结尾的所有内容以及从开头到第50个索引之前的所有内容。
你问题的第二部分是关于元组拆包的问题。如果要设置的变量数量与某些集合中的元素(如元组或列表)相同,则会将其解包。例如:
(a, b) = 42, 9001
print("Val A:", a)
print("Val B:", b)
将输出:
Val A: 42
Val B: 9001
你实际上甚至不需要变量周围的()
括号。
扩展到你的问题,它实际上只是一个简化的单行版本:
X_train = X[50:]
X_test = X[:50]
答案 1 :(得分:1)
假设X是一个列表,元组或数组,第一个切片([50:]
)将返回从第50个元素到结尾的所有元素。第二个切片([:50]
)将返回第一个切片到第49个元素。