Python列表切片存在特殊字符

Python列表切片存在特殊字符,python,list,slice,Python,List,Slice,这两行代码是什么意思?逗号在这里是什么意思?那么“…”在这里意味着什么呢?如果您定义了一个实现\uu getitem\uuuu的类,那么您可以查看以下详细信息: X_train[y_train == y, :, :] all_obs[train_index, ...] 输出: class Foo(object): def __getitem__(self, *xs, **kws): return [xs, kws] X_train = Foo() all_obs =

这两行代码是什么意思?逗号在这里是什么意思?那么“…”在这里意味着什么呢?

如果您定义了一个实现
\uu getitem\uuuu
的类,那么您可以查看以下详细信息:

X_train[y_train == y, :, :]
all_obs[train_index, ...]
输出:

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, ...]

冒号似乎定义了一个空的切片对象,省略号在上述注释()中提供的链接中进行了讨论。

。这个链接部分回答了这个问题。您几乎肯定在NumPy数组的上下文中遇到过代码,将此上下文放到这个问题中会很有帮助。您是否搜索了文档或检查了有关堆栈溢出的任何其他答案?已经有很多信息解释了代码的含义。
[((True, slice(None, None, None), slice(None, None, None)),), {}]
[((456, Ellipsis),), {}]