【问题标题】:Python list slicing exist special characterPython列表切片存在特殊字符
【发布时间】:2016-09-03 04:56:40
【问题描述】:
X_train[y_train == y, :, :]
all_obs[train_index, ...]

这两行代码是什么意思?逗号在这里是什么意思? “...”在这里是什么意思?

【问题讨论】:

  • stackoverflow.com/questions/772124/… 。这个链接部分回答了这个问题。
  • 您几乎肯定在 NumPy 数组的上下文中遇到过代码,将这个上下文放在问题中会很有帮助。您是否在 Stack Overflow 上搜索过文档或查看任何其他答案?已经有很多信息可以解释代码的含义。

标签: python list slice


【解决方案1】:

如果您定义了一个实现__getitem__ 的类,您可以查看详细信息:

class Foo(object):
    def __getitem__(self, *xs, **kws):
        return [xs, kws]

X_train = Foo()
all_obs = Foo()

y_train = 123
y = 123
train_index = 456

print X_train[y_train == y, :, :]
print all_obs[train_index, ...]

输出:

[((True, slice(None, None, None), slice(None, None, None)),), {}]
[((456, Ellipsis),), {}]

看起来冒号定义了一个空切片对象,省略号在上面 cmets 提供的链接中讨论 (What does the Python Ellipsis object do?)。

【讨论】:

    猜你喜欢
    • 2016-07-30
    • 2011-10-24
    • 1970-01-01
    • 2023-04-09
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    相关资源
    最近更新 更多