Questions tagged «slice»

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

9
一对单对
通常,我发现需要成对处理列表。我想知道哪种方法是有效的pythonic方法,并在Google上找到了它: pairs = zip(t[::2], t[1::2]) 我认为这已经足够好用了,但是在最近涉及成语与效率的讨论之后,我决定进行一些测试: import time from itertools import islice, izip def pairs_1(t): return zip(t[::2], t[1::2]) def pairs_2(t): return izip(t[::2], t[1::2]) def pairs_3(t): return izip(islice(t,None,None,2), islice(t,1,None,2)) A = range(10000) B = xrange(len(A)) def pairs_4(t): # ignore value of t! t = B return izip(islice(t,None,None,2), islice(t,1,None,2)) for f in …
98 python  list  zip  slice  idioms 

3
接口{}的范围,它存储一个切片
给定您具有接受功能的场景t interface{}。如果确定t是切片,我如何range在该切片上? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I iterate here? for _,value := range t { fmt.Println(value) } } } 前往游乐场示例:http://play.golang.org/p/DNldAlNShB


7
通过标签选择的熊猫有时返回Series,有时返回DataFrame
在Pandas中,当我选择一个索引中仅包含一个条目的标签时,我会得到一个系列,但是当我选择一个具有多于一个条目的条目时,我就会得到一个数据框。 这是为什么?有没有办法确保我总是取回数据帧? In [1]: import pandas as pd In [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3]) In [3]: type(df.loc[3]) Out[3]: pandas.core.frame.DataFrame In [4]: type(df.loc[1]) Out[4]: pandas.core.series.Series

3
Swift中的切片是什么?
Swift中的切片是什么?它与数组有何不同? 从文档中,下标(Range)的类型签名为: subscript(Range<Int>) -> Slice<T> 为什么不返回另一个Array<T>而不是一个Slice<T>? 看起来我可以将一个切片与数组连接起来: var list = ["hello", "world"] var slice: Array<String> = [] + list[0..list.count] 但这会产生错误: 无法找到接受提供的参数的“下标”的重载 var list = ["hello", "world"] var slice: Array<String> = list[0..list.count] 什么是切片?
85 swift  slice 

8
使用切片符号反转列表
在以下示例中: foo = ['red', 'white', 'blue', 1, 2, 3] 其中:foo[0:6:1]将打印foo中的所有元素。但是,foo[6:0:-1]将省略第一个或第0个元素。 >>> foo[6:0:-1] [3, 2, 1, 'blue', 'white'] 我了解我可以使用foo.reverse()或foo [::-1]反向打印列表,但是我想了解为什么foo [6:0:-1]不能打印整个列表?
79 python  list  syntax  slice 

4
前往:如果唯一则追加
有没有一种方法可以检查切片/映射中是否存在值? 我只想在切片中不存在值时才将其添加到切片中。 这可行,但似乎很冗长。有更好的方法吗? orgSlice := []int{1, 2, 3} newSlice := []int{} newInt := 2 newSlice = append(newSlice, newInt) for _, v := range orgSlice { if v != newInt { newSlice = append(newSlice, v) } } newSlice == [2 1 3]
77 append  go  slice 

5
如何在golang切片中搜索元素
我有一部分结构。 type Config struct { Key string Value string } // I form a slice of the above struct var myconfig []Config // unmarshal a response body into the above slice if err := json.Unmarshal(respbody, &myconfig); err != nil { panic(err) } fmt.Println(config) 这是此的输出: [{key1 test} {web/key1 test2}] 我如何搜索此数组以获取元素在哪里key="key1"?
77 go  struct  slice 

2
为什么Python允许序列的切片索引超出范围?
因此,我只是遇到了我觉得很奇怪的Python功能,并希望对此进行一些澄清。 以下数组操作在一定程度上是有意义的: p = [1,2,3] p[3:] = [4] p = [1,2,3,4] 我想这实际上只是将这个值附加到末尾,对吗? 为什么我可以这样做? p[20:22] = [5,6] p = [1,2,3,4,5,6] 更是如此: p[20:100] = [7,8] p = [1,2,3,4,5,6,7,8] 这似乎是错误的逻辑。看来这应该引发错误! 有什么解释吗? -这只是Python所做的奇怪的事情吗? -有目的吗? -还是我在想这个错误的方式?



3
如何检查空片?
我正在调用一个函数,如果没有值,该函数将返回一个空数组。 当我这样做时,它不起作用: if r == [] { fmt.Println("No return value") } 我正在使用的解决方法是: var a [0]int if r == a { fmt.Println("No return value") } 但是声明一个变量只是为了检查返回值似乎并不正确。什么是更好的方法呢?
72 go  slice 

17
Python切片列表中的第一个和最后一个元素
有没有办法只分割列表中的第一项和最后一项? 例如; 如果这是我的清单: >>> some_list ['1', 'B', '3', 'D', '5', 'F'] 我想这样做(显然[0,-1]是无效的语法): >>> first_item, last_item = some_list[0,-1] >>> print first_item '1' >>> print last_item 'F' 我尝试过的一些方法: In [3]: some_list[::-1] Out[3]: ['F', '5', 'D', '3', 'B', '1'] In [4]: some_list[-1:1:-1] Out[4]: ['F', '5', 'D', '3'] In [5]: some_list[0:-1:-1] Out[5]: [] ...
70 python  list  slice  subscript 

2
切片类型
我目前正在努力完成出色的“围棋之旅”。我使用以下解决方案完成了其中一项练习(#45): func Pic(dx, dy int) [][]uint8 { pic := make([][]uint8, dy) /* type declaration */ for i := range pic { pic[i] = make([]uint8, dx) /* again the type? */ for j := range pic[i] { pic[i][j] = uint8((i+j)/2) } } return pic } 我不明白为什么我必须使用两次make该uint8类型的语句(请参见摘要中的注释)。这似乎是多余的,但我不知道该怎么做。
67 types  go  slice 

9
如果列表元素在两个空格之间,则联接它们
我有这样的输入: ['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++'] 我想在元素之间''加入这样的输出: ['assembly', 'python', 'java', 'ruby', 'javascript', 'c++'] 我尝试使用join和列表切片是这样的: a=['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++'] a[2:5] = [''.join(a[ 2: 5])] a=['assembly', '', 'python', '', …

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.