索引与切片## PyTorch ## 索引与切片 主讲人:龙良曲 ## I ndexing - dim 0 first ☐ ☐ ☐ 1 In [130]: 2 a=torch.rand(4,3,28,28) 3 In [131]: a[0].shape 4 Out[131]: torch.Size([3, 28, 28]) 5 6 In [138]: a[0,0].shape 7 Out[138]:0 码力 | 10 页 | 883.44 KB | 2 年前3
The Zig Programming Language 0.1.1 Documentation0 码力 | 82 页 | 2.67 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.a第14章:Go类型系统概述 - 精通Go编程必读 - 第15章:指针 - 第16章:结构体 - 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 - 第18章:数组、切片和映射 - Go中的首要容器类型 - 第19章:字符串 - 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 - 第21章:通道 - Go特色的并发同步方式 o语言中关于各种其它主题的文章。所以现在《Go语言101》大约有50篇文章。 ## 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。一些困惑涉及到某些类型的值,主要是切片,接口和通道类型。另外一些涉及到标准包API的使用细节。 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使用Go。持有这种态度阻止了我更深刻地理解Go。 义设计很简单明了,但也有一些设计略微反直觉,甚至自相矛盾。Go语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当的Go编程经验和感悟才能理解这些权衡。 Go提供了几种基本但非必需的类型,比如切片,接口和通道。Go编译器和运行时在实现这些类型的时候,进行了必要的封装。一方面,这些封装为Go编程带来了许多便利,使我们不用从头实现这些类型。但另一方面,这些封装隐藏了这些类型的内部结构,从而对我们0 码力 | 608 页 | 1.08 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.a第13章:协程、延迟函数调用、以及恐慌和恢复 • Go类型系统 第14章:Go类型系统概述-精通Go编程必读 。第15章:指针 。第16章:结构体 。第17章:值部-为了更容易和更深刻地理解Go中的各种值 。第18章:数组、切片和映射 - Go中的首要容器类型 。第19章:字符串 。第20章:函数 - 函数类型和函数值,以及变长参数个数函数 。第21章:通道 - Go特色的并发同步方式 第22章:方法 。第23章 o语言中关于各种其它主题的文章。所以现在《Go语言101》大约有50篇文章。 ## 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。一些困惑涉及到某些类型的值,主要是切片,接口和通道类型。另外一些涉及到标准包API的使用细节。 ## 你认为造成你曾经的困惑的主要原因是什么? 第0章:关于《Go语言101》 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的 义设计很简单明了,但也有一些设计略微反直觉,甚至自相矛盾。Go语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当的Go编程经验和感悟才能理解这些权衡。 Go提供了几种基本但非必需的类型,比如切片,接口和通道。Go编译器和运行时在实现这些类型的时候,进行了必要的封装。一方面,这些封装为Go编程带来了许多便利,使我们不用从头实现这些类型。但另一方面,这些封装隐藏了这些类型的内部结构,从而对我们0 码力 | 591 页 | 21.40 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.a第14章:Go类型系统概述 - 精通Go编程必读 - 第15章:指针 - 第16章:结构体 - 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 - 第18章:数组、切片和映射 - Go中的首要容器类型 - 第19章:字符串 - 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 - 第21章:通道 - Go特色的并发同步方式 o语言中关于各种其它主题的文章。所以现在《Go语言101》大约有50篇文章。 ## 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。一些困惑涉及到某些类型的值,主要是切片,接口和通道类型。另外一些涉及到标准包API的使用细节。 ## 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使用Go。持有这种态度阻止了我更深刻地理解Go。 义设计很简单明了,但也有一些设计略微反直觉,甚至自相矛盾。Go语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当的Go编程经验和感悟才能理解这些权衡。 Go提供了几种基本但非必需的类型,比如切片,接口和通道。Go编译器和运行时在实现这些类型的时候,进行了必要的封装。一方面,这些封装为Go编程带来了许多便利,使我们不用从头实现这些类型。但另一方面,这些封装隐藏了这些类型的内部结构,从而对我们0 码力 | 821 页 | 956.82 KB | 2 年前3
Go 入门指南(The way to Go)11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8 8.2 测试键值对是否存在及删除元素 8.3 for-range 的配套用法 8.4 map 类型的切片 8.5 map 的排序 8.6 将 map 的键值对调 第9章:包(package) 9.1 标准库概述 9.2 regexp 包 9.3 锁和 sync 包 9.4 精密计算和 big 包 9.5 自定义包和可见性 第12章:读写数据 12.1 读取用户的输入 12.2 文件读写 12.3 文件拷贝 12.4 从命令行读取参数 12.5 用 buffer 读取文件 12.6 用切片读写文件 12.7 用 defer 关闭文件 12.8 使用接口的实际例子:fmt.Fprintf 12.9 格式化 JSON 数据 12.10 XML 数据格式0 码力 | 466 页 | 4.44 MB | 2 年前3
Go 入门指南(The way to Go)runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第 10.8 节)、栈处理、goroutine、channel、切片(slice)、map 和反射(reflection)等等。 runtime 主要由 C 语言编写(Go 1.5 开始自举),并且是每个 Go 包的最顶级包。你可以在目录 $GOROOT/src/runtime 上面的代码会将源文件中没有意义的括号去掉。 gofmt -r "a[n:len(a)] -> a[n:]" -w *.go 上面的代码会将源文件中多余的 len(a) 去掉。(译者注:了解切片(slice)之后就明白这为什么是多余的了) gofmt -r 'A.Func1(a,b) -> A.Func2(b,a)' -w *.go 上面的代码会将源文件中符合条件的函数的参数调换位置。 h。 ## 第二部分:语言的核心结构与技术 • 第4章:基本结构和基本数据类型 • 第5章:控制结构 • 第6章:函数(function) • 第7章:数组与切片 • 第8章:Map • 第9章:包(package) • 第10章:结构(struct)与方法(method) - 第11章:接口(interface)与反射(reflection) ##0 码力 | 380 页 | 2.97 MB | 2 年前3
从零蛋开始学 Rust= "你好,零基础教程 简单编程"; 字符串字面量的核心代码可以在模块 std::str 中找到,如果你有兴趣,可以阅读一二。 Rust 中的字符串字面量被称之为字符串切片。因为它的底层实现是切片。 #### 7.1.1 范例 下面的代码,我们定义了两个字符串字面量 company 和 location fn main() { let company:&str="零基础教程"; 根据指定模式分割字符串 split() 如果要将字符串根据某些指定的字符串子串分割,则可以使用 split() 方法。 split() 会根据传递的指定模式(字符串分割符)来分割字符串,并返回分割后的字符串子串组成的切片上的迭代器。我们可以通过这个迭代器来迭代分割的字符串子串。 split() 方法最大的缺点是不可重入迭代,也就是迭代器一旦使用,则需要重新调用才可以再用。 但我们可以先在迭代器上调用 collect() Rust 切片 Slice 一个切片(slice)就是指向一段内存的指针。 因此切片可用于访问内存块中连续区间内的数据。 一般情况下,能够在内存中连续区间存储数据的数据结构有: 数组 array、向量 vector、字符串 string。 也就是说,切片可以和数组、向量、字符串一起使用,它使用数字索引(类似于数组的下标索引)来访问它所指向的数据。 例如,切片可以和字符串一起使用,切片可以指向0 码力 | 168 页 | 1.24 MB | 2 年前3
机器学习课程-温州大学-numpy使用总结> c = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]]) > c.shape (3, 4) ## ndarray的切片 ndarray的切片和list是一样的。 > a = np.arange(10) > a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) a[:5] $$ a[5:1:-2] $$ [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] [5, 3] 可以通过切片的对ndarray中的元素进行更改。 array([ 0, 1, 100, 101, 4, 5, 6, 7, 8, 9]) ## ndarray的切片 ndarray通过切片产生一个新的数组b,b和a共享同一块数据存储空间。 > b = a[3:7] > b[2] = -10 -10 b a [101, 4, -10, 6] [0, 1, 100, 101, 4, -10, 6, 7, 8, 9] 如果想改变这种情况,我们可以用列表对数组元素切片。 > b = a[[3, 3, -3, 8]] > b array([3, 3, 7, 8]) > b[2] = 100 b a [3, 3, 1000 码力 | 49 页 | 1.52 MB | 2 年前3
Go语言基础
Golang Fundaments– Java 语言的脑袋(能用面向对象思路解决问题) ## 基本知识学习 ## - 请按 go tour 浏览 - “基础” · 包,变量,函数 · 流程控制语句 - 指针、结构、数组与切片、Map - 方法与接口 - 并发 ## Hello world! hello.go package main import "fmt" func main() { $$ T - 固定大小,不可改变 • 切片(slice)是数组的引用 - 申明 []T – 可表示数组的视图 a[low:high] - 可表示一个动态数组如 slice := []int{1,2,3} – 切片拥有长度 len(s),容量 cap(s) - 引用有 nil 值 (指针有吗?) – 使用内建函数 make 创建切片 - 切片的切片(多维数组?) – 使用内建函数 append append 添加元素 – 使用 for ... range 遍历切片 ## Map数据类型 • 映射(map)是 key:value 集合 – 申明 map[keyType]valueType - map值的初始化 $ \{k:v,k:v,\ldots\} $ - 映射拥有长度 len(m) - 映射有 nil 值,或 len(m) = 0 – 使用内建函数 make 初始化 map0 码力 | 21 页 | 851.30 KB | 2 年前3
共 153 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16













