首页 > 解决方案 > Python 中的“Function()[x]”中的 [x] 是什么?

问题描述

我只想知道函数中 [x] 的含义是什么(一般来说,不是关于我将展示的代码),我一直认为它是一个列表,但什么也没找到。

我将展示我使用它看到的两个代码,第一个是使用 PyTorch 库(卷积):

  1. 短一:

    x.size()[0]
    

    长一:

    def forward(self, x):
        conv_out = self.conv(x).view(x.size()[0], -1)
        return self.fc(conv_out)
    
  2. 第二个是使用 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]一般是什么。

感谢您的回答。

标签: pythonfunction

解决方案


[]是 Python 中的索引运算符。

如果您有一个 list 或 tuple ll[n]则表示n它的第 th 个元素。

如果您有字典 d,d[x]则表示键为 的元素x

如果您有一个字符串s,则 s[n]字符串中的第 nmeans the个字符。

其他一些数据类型定义了自己的索引函数,但它们通常实现相同的想法,可能会对其进行扩展(Numpy 数组允许您使用元组来执行多维索引和切片)。

如果您[x]在函数调用之后放置,它将对函数返回的任何内容执行索引。

y = function()[x]

相当于

temp = function()
y = temp[x]

推荐阅读