首页 > 解决方案 > 在这种情况下,“:”冒号对索引有什么作用?

问题描述

我从未见过在 python 中以这种方式使用冒号,需要解释一下。
这里dim,in_featuresout_features都是 int。 i是 for 循环中的索引计数器。当我dim:(i + 1)自己使用它时,它不会抛出错误,但也不会做任何事情。如果我0:(i+1)自己使用,我会得到一个SyntaxError: illegal target for annotation.
下面是一个可重现的片段。

dim = 8
in_features = dim
hidden_dim = 3
out_features = dim * hidden_dim
weight = np.zeros([out_features, in_features])
for i in range(dim):
    weight[i * out_features // dim:(i + 1) * out_features // dim,\
           0:(i + 1) * in_features // dim] \
           = np.random.uniform(size=[out_features // dim, (i + 1) * in_features // dim])

标签: python-3.x

解决方案


推荐阅读