python - Python 中的“Function()[x]”中的 [x] 是什么?
问题描述
我只想知道函数中 [x] 的含义是什么(一般来说,不是关于我将展示的代码),我一直认为它是一个列表,但什么也没找到。
我将展示我使用它看到的两个代码,第一个是使用 PyTorch 库(卷积):
短一:
x.size()[0]
长一:
def forward(self, x): conv_out = self.conv(x).view(x.size()[0], -1) return self.fc(conv_out)
第二个是使用 GYM 库进行 RL,也是上面代码的一部分:
短一:
assert env.unwrapped.get_action_meanings()[1] == 'FIRE'
长一:
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
我不想知道他们为什么使用function()[x]
,我只想知道[x]
一般是什么。
感谢您的回答。
解决方案
[]
是 Python 中的索引运算符。
如果您有一个 list 或 tuple l
,l[n]
则表示n
它的第 th 个元素。
如果您有字典 d,d[x]
则表示键为 的元素x
。
如果您有一个字符串s
,则 s[n]字符串中的第 nmeans the
个字符。
其他一些数据类型定义了自己的索引函数,但它们通常实现相同的想法,可能会对其进行扩展(Numpy 数组允许您使用元组来执行多维索引和切片)。
如果您[x]
在函数调用之后放置,它将对函数返回的任何内容执行索引。
y = function()[x]
相当于
temp = function()
y = temp[x]
推荐阅读
- c - 通过任务配置运行时在 VS 2017 中调试
- php - SQL 语句:根据 2 个值获取结果
- node.js - 如何在创建其他模型实例时引用现有模型实例?
- c++ - 使用流时如何返回 8.0 而不是 8?
- javascript - KaTeX 不渲染
- javascript - Netsuite SCA:如何在函数 netsuite 中传递 javascript 变量?
- bash - 如何将 curl 的 grep 输出保存到变量而不将其记录到控制台?
- java - 在 java 代码中实现 UML 三元关联
- javascript - 从另一个 div 类获取 div 类的属性以进行角度量角器测试
- swagger - 服务堆栈 (4.5.0) Swagger UI