What is purpose of “:” in python array access code line colors[rnd_ind, :]?
本问题已经有最佳答案,请猛点这里访问。
我对Python是个新手,很多构造都会让我的C型大脑崩溃。现在我需要了解一些Python代码是如何工作的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #Training inputs for RGBcolors colors = np.array( [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 0.5], [0.125, 0.529, 1.0], [0.33, 0.4, 0.67], [0.6, 0.5, 1.0], [0.0, 1.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 1.0], [1.0, 0.0, 1.0], [1.0, 1.0, 0.0], [1.0, 1.0, 1.0], [0.33, 0.33, 0.33], [0.5, 0.5, 0.5], [0.66, 0.66, 0.66]]) for i in range(num_training): rnd_ind = np.random.randint(0, len(colors)) s.train(colors[rnd_ind, :]) //what's going on here? |
这是
1 2 3 4 5 6 7 8 | def train(self, input_x): # Compute the winning unit bmu_index, diff = self.session.run([self.bmu_index, self.diff], {self.input_placeholder:[input_x], self.current_iteration:self.num_iterations}) # Update the network's weights self.session.run(self.update_weights, {self.diff_2:diff, self.dist_sliced:self.dist[bmu_index[0],:], self.current_iteration:self.num_iterations}) self.num_iterations = min(self.num_iterations+1, self.num_expected_iterations) |
我将断点设置为
我尝试了搜索,在python list index问题中发现了冒号(:),但这看起来有些不同,因为在我的例子中,
这有什么做的,与标准的Python的翼。如果你使用它在Python中的列表,你会得到的是错误的。 </P >
1 2 3 4 | Traceback (most recent call last): File"asd.py", line 3, in <module> print(x[0, :]) TypeError: list indices must be integers or slices, not tuple |
这是numpy的特异性。它是一个密封的一种multidimensional阵列。第一个数是第一维,第二次是第二次和SO。 </P >
1 2 3 4 5 | import numpy as np x = np.array([[1,2,3], [3,4,5], [2,3,4], [4,7,8]]) print(x[0, 1:2]) |
将输出
在