“a”中的[x]是什么;函数()[x]";用Python?
我只想知道[x]在函数中的含义(一般来说,不是关于我将要展示的代码),我一直认为它是一个列表,但对它却一无所知 我将展示两个使用它的代码,第一个是使用PyTorch库(卷积):“a”中的[x]是什么;函数()[x]";用Python?,python,function,Python,Function,我只想知道[x]在函数中的含义(一般来说,不是关于我将要展示的代码),我一直认为它是一个列表,但对它却一无所知 我将展示两个使用它的代码,第一个是使用PyTorch库(卷积): 简短的一点: x.size()[0] assert env.unwrapped.get_action_meanings()[1] == 'FIRE' 长的一个: def forward(self, x): conv_out = self.conv(x).view(x.size()[0], -1)
x.size()[0]
assert env.unwrapped.get_action_meanings()[1] == 'FIRE'
长的一个:
def forward(self, x):
conv_out = self.conv(x).view(x.size()[0], -1)
return self.fc(conv_out)
def __init__(self, env=None):
"""For environments where the user need to press FIRE for the game to start."""
super(FireResetEnv, self).__init__(env)
assert env.unwrapped.get_action_meanings()[1] == 'FIRE'
assert len(env.unwrapped.get_action_meanings()) >= 3
x.size()[0]
assert env.unwrapped.get_action_meanings()[1] == 'FIRE'
长的一个:
def forward(self, x):
conv_out = self.conv(x).view(x.size()[0], -1)
return self.fc(conv_out)
def __init__(self, env=None):
"""For environments where the user need to press FIRE for the game to start."""
super(FireResetEnv, self).__init__(env)
assert env.unwrapped.get_action_meanings()[1] == 'FIRE'
assert len(env.unwrapped.get_action_meanings()) >= 3
我不想知道他们为什么使用函数()[x]
,我只想知道一般情况下[x]
是什么
感谢您的回答。
[]
是Python中的索引操作符
如果您有一个列表或元组l
,l[n]
表示它的第n
个元素
如果有字典d,d[x]
表示键为x
的元素
如果您有一个字符串s
,则s[n]表示字符串中的第n个字符
其他一些数据类型定义了自己的索引函数,但它们通常实现了相同的想法,可能会对其进行扩展(Numpy数组允许您使用元组执行多维索引和切片)
如果在函数调用后放置[x]
,它将对函数返回的任何内容执行索引
y = function()[x]
相当于
temp = function()
y = temp[x]
您描述的几种输入类型之后的[x]只是一个索引引用。它可以应用于列表、元组或dict,具体取决于您如何使用它们。例如:
z = np.zeros((2, 3)) #Creates a numpy array of zeros with size (2, 3)
print(z.size()) #Outputs (2, 3)
print(z.size()[0]) #outputs the 0th index of the tuple
print(z.size()[2]) #Returns index error as it is out of range
同样的情况也适用于列表和dict,但会带来各种各样的问题。大多数情况下,对于函数,只有当您知道返回值的格式并且只需要返回值的一部分时,才使用该函数
希望这有帮助。x.size()
显然返回一个列表(数组),并且[0]
索引第一个元素。类似的逻辑也适用于其他例子。