Questions tagged «slice»

切片表示序列的一部分,通常由对基础序列的引用,给出起始位置,长度或结束位置的索引以及可选的“步幅”或“步长”值定义。请对C ++中的切片问题使用“对象切片”标签,对分析技术使用“程序切片”标签。

15
在Java中抓取数组的一部分而不在堆上创建新的数组
我正在寻找Java中将返回数组段的方法。一个示例是获取包含字节数组的第4个和第5个字节的字节数组。我不想仅在堆内存中创建一个新的字节数组。现在,我有以下代码: doSomethingWithTwoBytes(byte[] twoByteArray); void someMethod(byte[] bigArray) { byte[] x = {bigArray[4], bigArray[5]}; doSomethingWithTwoBytes(x); } 我想知道是否有一种方法可以做到doSomething(bigArray.getSubArray(4, 2)),例如,偏移量为4,长度为2。
181 java  arrays  slice 

7
切片NumPy 2d数组,或者如何从nxn数组(n> m)中提取mxm子矩阵?
我想切片一个NumPy nxn数组。我想提取该数组的m行和列的任意选择(即,行/列数中没有任何模式),使其成为一个新的mxm数组。对于此示例,假设数组为4x4,我想从中提取2x2数组。 这是我们的数组: from numpy import * x = range(16) x = reshape(x,(4,4)) print x [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] 要删除的行和列相同。最简单的情况是,当我想提取在开始或结尾处的2x2子矩阵时,即: In [33]: x[0:2,0:2] Out[33]: array([[0, 1], [4, 5]]) In [34]: x[2:,2:] Out[34]: array([[10, 11], [14, …
173 python  numpy  slice 

2
如何获得切片的最后一个元素?
提取切片的最后一个元素的Go方法是什么? var slice []int slice = append(slice, 2) slice = append(slice, 7) slice[len(slice)-1:][0] // Retrieves the last element 上面的解决方案有效,但看起来很尴尬。
166 go  slice 


2
在熊猫MultiIndex DataFrame中选择行
选择/过滤索引为MultiIndex的数据框的行的最常见的熊猫方法是什么? 根据单个值/标签切片 根据一个或多个级别的多个标签进行切片 过滤布尔条件和表达式 哪种方法在什么情况下适用 为简单起见的假设: 输入数据框没有重复的索引键 下面的输入数据框只有两个级别。(此处显示的大多数解决方案一般都适用于N级) 输入示例: mux = pd.MultiIndex.from_arrays([ list('aaaabbbbbccddddd'), list('tuvwtuvwtuvwtuvw') ], names=['one', 'two']) df = pd.DataFrame({'col': np.arange(len(mux))}, mux) col one two a t 0 u 1 v 2 w 3 b t 4 u 5 v 6 w 7 t 8 c u 9 v 10 …

3
如何将一串字符串连接成单个字符串?
package main import ( "fmt" "strings" ) func main() { reg := [...]string {"a","b","c"} fmt.Println(strings.Join(reg,",")) } 给我一个错误: prog.go:10:不能在字符串的参数中使用reg(类型[3] string)作为类型[] string。 有没有比循环和添加到var更直接/更好的方法?
129 go  slice 

6
如何在Ruby中返回数组的一部分?
使用Python中的列表,我可以使用以下代码返回其中的一部分: foo = [1,2,3,4,5,6] bar = [10,20,30,40,50,60] half = len(foo) / 2 foobar = foo[:half] + bar[half:] 由于Ruby在数组中执行所有操作,所以我想知道是否有类似的东西。
125 ruby  arrays  list  slice 

3
如何在Go中清除切片?
在Go中清除切片的适当方法是什么? 这是我在go论坛中找到的内容: // test.go package main import ( "fmt" ) func main() { letters := []string{"a", "b", "c", "d"} fmt.Println(cap(letters)) fmt.Println(len(letters)) // clear the slice letters = letters[:0] fmt.Println(cap(letters)) fmt.Println(len(letters)) } 这样对吗? 为了明确起见,清除了缓冲区,以便可以重用它。 一个示例是bytes包中的Buffer.Truncate函数。 注意,Reset只是调用Truncate(0)。因此看来,在这种情况下,第70行将进行评估:b.buf = b.buf [0:0] http://golang.org/src/pkg/bytes/buffer.go // Truncate discards all but the first n unread bytes from …
125 arrays  go  slice 

6
为什么不能用`copy()`复制切片?
我需要在Go中制作切片的副本,并阅读文档,这里有一个复制功能供我使用。 内置复制功能将元素从源切片复制到目标切片。(在特殊情况下,它还会将字节从字符串复制到字节的一部分。)源和目标可能会重叠。复制返回复制的元素数量,该数量将是len(src)和len(dst)的最小值。 但是当我这样做时: arr := []int{1, 2, 3} tmp := []int{} copy(tmp, arr) fmt.Println(tmp) fmt.Println(arr) tmp与以前一样,我是空的(甚至尝试使用arr, tmp): [] [1 2 3] 你可以在操场上检查一下。那为什么不能复制切片?
121 go  slice 

5
在__getitem__中实现切片
我正在尝试为正在创建的类创建切片功能,该类创建矢量表示。 到目前为止,我已经有了这段代码,我相信它将正确实现切片,但是每当我进行诸如v[4]v是矢量的调用时,python都会返回有关参数不足的错误。因此,我试图找出如何getitem在我的类中定义特殊方法来处理纯索引和切片。 def __getitem__(self, start, stop, step): index = start if stop == None: end = start + 1 else: end = stop if step == None: stride = 1 else: stride = step return self.__data[index:end:stride]

6
如何找出切片中的元素位置?
如何确定切片中存在的元素的位置? 我需要以下内容: type intSlice []int func (slice intSlice) pos(value int) int { for p, v := range slice { if (v == value) { return p } } return -1 }
108 position  go  slice 

3
在Go中创建2D切片的简洁方法是什么?
我正在通过“围棋之旅”学习围棋。其中的一项练习要求我创建包含的dy行和dx列的2D切片uint8。我目前有效的方法是: a:= make([][]uint8, dy) // initialize a slice of dy slices for i:=0;i<dy;i++ { a[i] = make([]uint8, dx) // initialize a slice of dx unit8 in each of dy slices } 我认为遍历每个切片以初始化它太冗长。而且,如果切片具有更大的尺寸,则代码将变得笨拙。在Go中,有没有一种简便的方法来初始化2D(或n维)切片?
103 go  slice 

5
在奇数位置提取列表元素
所以我想创建一个列表,它是一些现有列表的子列表。 例如, L = [1, 2, 3, 4, 5, 6, 7],我想创建一个子列表li,使其li包含所有L位于奇数位置的元素。 虽然我可以做到 L = [1, 2, 3, 4, 5, 6, 7] li = [] count = 0 for i in L: if count % 2 == 1: li.append(i) count += 1 但是我想知道是否还有另一种方法可以以更少的步骤高效地完成相同的工作。
100 python  list  slice 


4
分配如何与Python列表切片一起使用?
Python文档说切片列表会返回一个新列表。 现在,如果返回了“新”列表,我将对“分配给切片”存在以下疑问 a = [1, 2, 3] a[0:2] = [4, 5] print a 现在的输出将是: [4, 5, 3] 返回内容的内容如何出现在表达式的左侧? 是的,我阅读了文档,并说有可能,因为切片列表会返回“新”列表,为什么要修改原始列表?我无法理解其背后的机制。
99 python  list  slice 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.