标签: slice

Go中的切片类型有什么意义?

我已经读过这个,但仍然没有充分意识到slice反对的优势.array所以我期待有人在SO解释比它更好,我相信你可以:)

go slice

24
推荐指数
2
解决办法
3856
查看次数

如何切一个双端队列?

我已经改变了一些使用列表来使用双端队列的代码.当我收到错误时,我无法再切入它:

TypeError:序列索引必须是整数,而不是'slice'

这是一个显示问题的REPL.

>>> import collections
>>> d = collections.deque()
>>> for i in range(3):
...     d.append(i)
...
>>> d
deque([0, 1, 2])
>>> d[2:]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence index must be integer, not 'slice'
Run Code Online (Sandbox Code Playgroud)

那么,有没有一种解决方法来支持在Python中切割成deques?

python deque slice

24
推荐指数
2
解决办法
1万
查看次数

Clojure中的惯用序列切片

在Python中,有一种方便的方法可以获取名为"切片"的列表的一部分:

a = [1,2,3,4,5,6,7,8,9,10] # ? a = range(1,10)
a[:3] # get first 3 elements
a[3:] # get all elements except the first 3
a[:-3] # get all elements except the last 3
a[-3:] # get last 3 elements
a[3:7] # get 4 elements starting from 3rd (? from 3rd to 7th exclusive)
a[3:-3] # get all elements except the first 3 and the last 3
Run Code Online (Sandbox Code Playgroud)

clojure.repl/doc在Clojure中玩,我找到了所有这些的等价物,但我不确定它们是不是惯用的.

(def a (take 10 (iterate inc 1)))
(take 3 a)
(drop 3 …
Run Code Online (Sandbox Code Playgroud)

clojure sequence slice

24
推荐指数
4
解决办法
8691
查看次数

检查字符串切片是否在Go中包含特定值

检查特定值是否在字符串切片中的最佳方法是什么?我会在其他语言中使用Set,但Go没有.

到目前为止,我最好的尝试是:

package main

import "fmt"

func main() {
    list := []string{"a", "b", "x"}
    fmt.Println(isValueInList("b", list))
    fmt.Println(isValueInList("z", list))
}

func isValueInList(value string, list []string) bool {
    for _, v := range list {
        if v == value {
            return true
        }
    }
    return false
}
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/gkwMz5j09n

对于小切片,此解决方案应该没问题,但对于具有许多元素的切片,该怎么做?

set go slice

24
推荐指数
2
解决办法
4万
查看次数

关于JavaScript的切片和拼接方法的问题

我遇到了以下代码:

var f = function () {
    var args = Array.prototype.slice.call(arguments).splice(1);

    // some more code 
};
Run Code Online (Sandbox Code Playgroud)

基本上,结果args是一个数组,它是arguments没有第一个元素的副本.

但我不明白究竟是为什么farguments(其是保持该函数的输入参数成阵列状的对象的对象)对象被传递到slice方法,以及如何slice(1)被移除第一元件(定位在索引0) .

有人可以帮我解释一下吗?

PS代码来自此部分应用程序功能

javascript arrays arguments slice

23
推荐指数
1
解决办法
2万
查看次数

Python中列表,序列和切片之间的区别?

这些内置的Python数据类型有什么区别:列表,序列切片?在我看来,这三者基本上代表了C++和Java调用数组.

python list definition sequence slice

23
推荐指数
4
解决办法
3万
查看次数

23
推荐指数
1
解决办法
2万
查看次数

如何替换python列表的特定索引的值?

如果我有一个清单:

to_modify = [5,4,3,2,1,0]
Run Code Online (Sandbox Code Playgroud)

然后声明另外两个列表:

indexes = [0,1,3,5]
replacements = [0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

我怎样才能将to_modify元素作为索引indexes,然后将相应的元素设置to_modifyreplacements,即运行后,indexes应该是[0,0,3,0,1,0].

显然,我可以通过for循环来做到这一点:

for ind in to_modify:
    indexes[to_modify[ind]] = replacements[ind]
Run Code Online (Sandbox Code Playgroud)

但还有其他方法吗?我可以用operator.itemgetter某种方式吗?

python arrays slice

23
推荐指数
3
解决办法
9万
查看次数

以十六进制表示显示u8切片

我需要转换&[u8]为十六进制表示.例如[ A9, 45, FF, 00 ... ].

std::fmt::UpperHex切片没有实现特性(所以我不能使用std::fmt::format).Rust具有serialize::hex::ToHex特征,它转换&[u8]为十六进制字符串,但我需要一个具有单独字节的表示.

我可以UpperHex&[u8]自己实现特质,但我不确定这会是多么规范.这样做最规范的方法是什么?

hex slice rust

23
推荐指数
5
解决办法
2万
查看次数

在每个第n个元素之后在Python列表中插入元素

假设我有一个像这样的Python列表:

letters = ['a','b','c','d','e','f','g','h','i','j']
Run Code Online (Sandbox Code Playgroud)

我想在每个第n个元素后插入一个'x',假设该列表中有三个字符.结果应该是:

letters = ['a','b','c','x','d','e','f','x','g','h','i','x','j']
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过循环和插入来做到这一点.我实际上寻找的是一种Python方式,也许是一个单行程?

python indexing list insert slice

23
推荐指数
4
解决办法
2万
查看次数

标签 统计

slice ×10

python ×5

arrays ×2

go ×2

list ×2

sequence ×2

arguments ×1

clojure ×1

definition ×1

deque ×1

hex ×1

indexing ×1

insert ×1

javascript ×1

numpy ×1

rust ×1

set ×1

syntax ×1