slice相关内容

在 numpy 中获取 3D 数组的 2D 切片的平均值

我有一个形状为的 numpy 数组: (11L, 5L, 5L) 我想计算数组 [0, :, :], [1, :, :] 等的每个“切片"的 25 个元素的平均值,返回 11 个值. 这看起来很傻,但我不知道如何做到这一点.我认为 mean(axis=x) 函数可以做到这一点,但我已经尝试了所有可能的轴组合,但没有一个给我想要的结果. 我显然可以使用 for 循环和切片来做到这一点 ..
发布时间:2021-11-18 05:11:25 Python

Numpy - 从数组中切片二维行或列向量

我试图找到一个巧妙的小技巧来从二维数组中切片行/列并获得 (col_size x 1) 或 (1 x row_size). 有没有比在每次切片后使用 numpy.reshape() 更简单的方法? 干杯,斯蒂芬 解决方案 您可以在一次操作中切片和插入新轴.例如,这是一个二维数组: >>>a = np.arange(1, 7).reshape(2, 3)>>>一种数组([[1, ..
发布时间:2021-11-18 05:08:25 Python

在 Golang 中重新切片切片

最近学了 Go 语言,现在对下面的代码很困惑: 包主导入“fmt"功能主(){a := make([]int, 5)printSlice("a", a)b := make([]int, 0, 5)打印切片(“b",b)c := b[:2]打印切片(“c",c)d := c[2:5]打印切片(“d",d)}func printSlice(s string, x []int) {fmt.Printf ..
发布时间:2021-11-18 05:03:19 其他开发

Array vs Slice:访问速度

这个问题是关于访问数组和切片元素的速度,而不是关于将它们作为参数传递给函数的效率. 我希望数组在大多数情况下比切片更快,因为切片是一种描述数组连续部分的数据结构,因此可能会有额外的访问切片的元素(间接访问其底层数组的元素)时涉及的步骤. 所以我写了一个小测试来对一批简单的操作进行基准测试.有 4 个基准函数,前 2 个测试 全局 切片和全局数组,其他 2 个测试局部 切片和局部数组: ..
发布时间:2021-11-18 04:59:17 其他开发

如何在 Go 中获取切片的底层数组?

假设我有以下长度为 3 的整数数组: nums := [3]int{1,2,3} 然后我只抓取前两个项目的切片 numSlice := nums[:2] 在 numSlice 和 nums 上调用 cap 在这两种情况下都会产生 3,而 len 分别产生 2 和 3. 如果我然后附加到该切片 (numSlice = append(numSlice, 10)),则底层数 ..
发布时间:2021-11-18 04:57:30 其他开发

如何在 Go 中解析 JSON 数组

如何使用 json 包在 Go 中解析字符串(即数组)? type JsonType struct{数组 [] 字符串}功能主(){dataJson = `[“1"、“2"、“3"]`arr := JsonType{}解组 := json.Unmarshal([]byte(dataJson), &arr.Array)log.Printf("未编组:%v",未编组)} 解决方案 返回值Unma ..
发布时间:2021-11-18 04:50:53 其他开发

Python 列表/数组:在切片中禁用负索引环绕

虽然我发现负数环绕(即 A[-2] 索引倒数第二个元素)在许多情况下非常有用,但当它发生在切片内时,通常更多比有用的功能更烦人,我经常希望有一种方法可以禁用该特定行为. 下面是一个固定的 2D 示例,但我对其他数据结构和其他维度的数据也有过几次同样的不满. 将 numpy 导入为 npA = np.random.randint(0, 2, (5, 10)) def foo(i, j, r ..
发布时间:2021-11-18 04:35:12 Python

Numpy/Python:没有 for 循环的数组迭代

所以这是另一个 n 维数组问题:我希望能够将 n 维数组中的每个值与其邻居进行比较.例如,如果 a 是二维数组,我希望能够检查: a[y][x]==a[y+1][x] 对于所有元素.所以基本上检查所有维度的所有邻居.现在我正在通过: for x in range(1,a.shape[0]-1):做某事(a[x]) 使用了数组的形状,这样我就不会在边缘遇到超出范围的索引.所以如果我想在 n ..
发布时间:2021-11-18 04:33:54 Python

如何交换数组、切片或 Vec 的元素?

我想使用库函数交换切片 data 的元素,但由于多次借用而不起作用: 使用 std::mem;fn 示例(){让 mut 数据 = [1, 2, 3];让我 = 0;让 j = 1;mem::swap(&mut data[i], &mut data[j]);} error[E0499]: 不能一次多次借用 `data[_]` 作为可变的-->src/lib.rs:8:29|8 |mem::sw ..
发布时间:2021-11-18 04:26:18 其他开发

golang 将字符串添加到切片 ...interface{}

我有一个方法,它有一个参数 v ...interface{},我需要在这个切片前面加上一个 string.方法如下: func (l Log) Error(v ...interface{}) {l.Out.Println(append([]string{" ERROR "}, v...))} 当我尝试使用 append() 时,它不起作用: >追加(“一些字符串",v)追加的第一个参数必须是 ..
发布时间:2021-11-18 04:15:32 其他开发

去切片 - 容量/长度?

现在正在尝试从教程中学习 Go,并有一个非常基本的问题: func main() {a := make([]int, 5)//[0,0,0,0,0] len=5 cap=5b := make([]int, 0, 5)//[] len=0 cap=5c := b[:2]//[0,0] len=2 cap=5d := c[2:5]//[0,0,0] len=3 cap=3} 为什么 c 看起来像 ..
发布时间:2021-11-18 04:05:42 其他开发

如何在 Ruby 中返回数组的一部分?

使用 Python 中的列表,我可以使用以下代码返回其中的一部分: foo = [1,2,3,4,5,6]条 = [10,20,30,40,50,60]一半 = len(foo)/2foob​​ar = foo[:half] + bar[half:] 由于 Ruby 在数组中做所有事情,我想知道是否有类似的东西. 解决方案 是的,Ruby 的数组切片语法与 Python 非常相似.这是 ..
发布时间:2021-11-18 03:55:18 其他开发

为什么 go 允许从 len(slice) 切片?

为什么会出现以下行为: a := []int{1, 2, 3}fmt.Println(a[0:])fmt.Println(a[1:])fmt.Println(a[2:])fmt.Println(a[3:])//不恐慌 - 为什么??fmt.Println(a[4:])//预期的恐慌 可执行示例 解决方案 a[3:] 构建一个空切片,它就像一个空数组,是一个有效且有用的对象(在所有语言, ..
发布时间:2021-11-18 03:51:48 其他开发

什么是二维数组的内存表示?

在Java中,二维数组是多个一维数组.这意味着那些一维数组在内存中不连续. 相比之下,在C中,二维数组实际上是一维数组,大小为total_row * total_column.因为 Go 语言使用了很多来自 C 的概念. 所以我的问题是:Go 中二维数组的内存表示看起来像 C 还是 Java? 解决方案 在 Go 中,切片经常被误认为 arrays,所以我回答两者. 数组 ..
发布时间:2021-11-18 03:30:06 其他开发

为什么使用数组而不是切片?

我一直在阅读有关 Go 的文章,但在思考这个基本问题时却被难住了. 很明显,在 Go 中,切片更加灵活,通常可以在需要数据序列时代替数组使用. 阅读大部分文档,他们似乎鼓励开发人员只使用切片而不是数组.我得到的印象是,创作者可以简单地设计数组以调整大小,并且无需整个切片部分即可完成.事实上,这样的设计会使语言更容易理解,甚至可能鼓励更多地道的代码. 那么为什么创建者首先允许使用数 ..
发布时间:2021-11-18 03:25:36 其他开发

如何创建包含唯一字符串的数组?

我想创建一个包含唯一字符串的数组.我该怎么做? var paths = make([]string, 0)功能主(){//成员是动态添加的路径 = 追加(路径,“aaa")路径 = 追加(路径,“bbb")路径 = 追加(路径,“bbb")路径 = 追加(路径,“ccc")//转换 ["aaa", "bbb", "bbb", "ccc"] ->[“aaa"、“bbb"、“ccc"]//或者我可以 ..
发布时间:2021-11-18 03:12:10 其他开发

golang 数组初始化中的键值项

在 Dave Cheney 的 pub quiz 中,我发现了以下结构: a := [...]int{5, 4: 1, 0, 2: 3, 2, 1: 4}fmt.Println(a)>>[5 4 3 2 1 0] (游乐场链接) 似乎您可以在数组的初始化字段中使用键(4: 1, 0 表示将索引 4 处的元素设置为 1,将索引 5 处的元素设置为 0).我以前从未见过这样的事情.它的用例是 ..
发布时间:2021-11-18 03:09:09 其他开发