1ellipsis

三个点在python中的类别名称叫做ellipsis,中文意思就是省略号。

type(...)
<class 'ellipsis'>

2 ellipsis在Numpy或者tensor中的应用

以pytorch中的tensor格式为例。先随机生成一个(4,3,4)尺寸的tensor。

import torch
a = torch.randn(4, 3, 4) # 随机生成一个(4,3,4)尺寸的tensor
print(a)
tensor([[[-1.0691,  1.1035,  1.1393, -0.2697],[ 0.7714, -0.8335, -1.3316,  1.6003],[-1.3023,  0.0086,  1.2506, -1.3495]],[[ 1.1887,  1.2299, -2.3907, -0.9398],[ 0.7684, -0.5810,  1.0292, -0.4403],[ 0.0410, -1.3440,  0.6224,  2.3383]],[[ 0.3019, -0.5783,  0.4214, -0.5811],[-1.7942, -0.8230, -0.9545, -0.9520],[ 0.4636, -0.6919, -0.4382,  0.6298]],[[-0.1962, -0.0933, -0.3654, -1.3060],[-0.0212,  0.7255, -2.2106, -0.3655],[ 0.1591, -0.5504, -1.0143, -1.7478]]])
print(a[..., :2])
tensor([[[-1.0691,  1.1035],[ 0.7714, -0.8335],[-1.3023,  0.0086]],[[ 1.1887,  1.2299],[ 0.7684, -0.5810],[ 0.0410, -1.3440]],[[ 0.3019, -0.5783],[-1.7942, -0.8230],[ 0.4636, -0.6919]],[[-0.1962, -0.0933],[-0.0212,  0.7255],[ 0.1591, -0.5504]]])

我们可以发现,a[…, :2]的输出就是前两个维度取所有,第三个维度只取前两列,可以推测出…的作用是代表取逗号前面的所有维度。
假设共n个维度,也就是如果后边有一个逗号分隔,则…是取前n-1个维度的所有。如果没有逗号分隔,则…是取所有维度的元素,也就和这个tensor本身没有任何区别。
结论:
…取的维度 = 所有维度 - 逗号个数

即a[…, :2]= a[:, :, :2]

2.1验证

print((a[...]= a).all())
tensor(True)
print((a[..., :2]= a[:, :, :2]).all())
tensor(True)

python中省略号三个点(...)的作用相关推荐

  1. python中try语句的用法和作用_python基础知识三——try与except处理异常语句

    try/except介绍 与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错(python作为脚本语言没有编译的环节,在执行过程中对 ...

  2. python中修饰器的优点和作用_Python入门基础教程之装饰器

    Python装饰器的定义:在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式称之为装饰器(Decorator) 装饰器的优点和用途: 1. 抽离出大量函数中与函数功能本身无关的的雷同 ...

  3. python中冒号(:)的作用

    python中冒号:的作用 一开始接触python代码的时候冒号这个存在一直困扰了我很久,说一下我对冒号的理解. 冒号(:)表示的就是一个整体,冒号出现在哪里就代表这个位置对整体. 第一:作为整体用于 ...

  4. python 中 if __name__ == '__main__' 判断的作用

    假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行 ...

  5. Python中的三引号的用法

    python中三引号可以将复杂的字符串进行复制: python三引号允许一个字符串跨多行,字符串中可以包含换行符.制表符以及其他特殊字符. 三引号的语法是一对连续的单引号或者双引号(通常都是成对的用) ...

  6. python中的os.chdir()定义及作用

    其实关于python自带的os以及sys以及管理输入参数的arg这个包,我也不太清楚有什么实际用途,但是肯定用于路径管理,工作空间,模块导入相关.今天这篇文章我们来了解一下python中的os.chd ...

  7. Python中的三个基本知识点

    1. 引言 Python被称为易于使用和灵活多变的编程语言,有很多技巧可以用来使我们编写的代码更漂亮,更简洁.无论您是Python新手还是有多年的编程经验,学习更多的编程技巧往往可以提升工作效率. 闲 ...

  8. python三引号怎么打出来_请问python中的三引号怎么打啊?小白求助

    第一中方法比较简单,直接使用三个反斜杠进行转义,也就是: print("\"\"\"");因为\"代表一个引号,那么连续三个\"自 ...

  9. python 中右移、左移运算符的作用

    python 中">>"与"<<",分别表示右移.左移,右移.左移什么? 请看示例: print("1<<5结果: ...

最新文章

  1. '_NamespacePath' object has no attribute 'sort'
  2. 数据库连接池之_DButils
  3. Android 让系统自动生成缩略图并写入媒体库
  4. java 散点图_java-Apache POI散点图创建
  5. 移动设备input输入框点击后自动选中内容_带你用 Python 实现自动化群控(入门篇)...
  6. CentOS7添加自定义系统服务
  7. matlab空域内图像增强之灰度变换增强
  8. MySQL入门学习笔记
  9. Python学习记录
  10. 矩阵论代码实践之满秩分解
  11. [反汇编练习] 160个CrackMe之024
  12. mac关闭和开启启动声
  13. Python Network(一)基础入门(节点和边基本概念,网络统计量)
  14. 区块链改革(链改)全国行动委员会第一次会议胜利召开
  15. 自动白平衡也即:color constancy (色彩恒常)研究总结
  16. macM1安装tensorflow和torch教程(python3.8环境)
  17. Python在金融,数据分析,和人工智能中的应用
  18. Chart.js使用教程,画折线图实例
  19. 他是国家的儿子 如不再优秀请原谅他
  20. 微软计算机电源怎么接,这个长得像电源插头的东西,真的是微软最新研发的迷你电脑?!...

热门文章

  1. 用 SLF4j/ Logback打印日志
  2. Total Commander 显示文件包含文件名扩展
  3. Echarts饼图实现颜色渐变
  4. aps自动排程助企业缩短制造周期
  5. 计算机网路——163邮箱授权码
  6. 使用友盟进行app的增量更新
  7. 【vue 进阶指南 一】多语言国际化(中英文切换)
  8. 左边是地狱右边也是地狱_像我这样的设计师的特别地狱
  9. 2018拼多多校招【大整数相乘】Python解法
  10. 快速入池淘宝猜你喜欢方法技巧