Tag: 切片

如何扩展一个Scala列表来启用切片,而不是通过显式的位置,而是通过给定的谓词/条件

对于 trait Item case class TypeA(i: Int) extends Item case class TypeB(i: Int) extends Item 考虑一个斯卡拉项目列表如 val myList = List(TypeA(1), TypeB(11), TypeB(12), TypeA(2), TypeB(21), TypeA(3), TypeB(31)) 目标是定义一个新的分slice方法,可以应用到myList ,并将谓词或条件作为参数; 例如 myList.slice { x => x.isInstanceOf[TypeA] } 会交付 List(List(TypeA(1), TypeB(11), TypeB(12)), List(TypeA(2), TypeB(21)), List(TypeA(3), TypeB(31))) 在这个例子中,相同的结果将通过 myList.slice { case TypeA(x) => x < 10 } 非常感谢。

双从单个列表

通常情况下,我发现需要成对处理一个列表。 我想知道哪种方法可以做到这一点,并在Google上发现: pairs = zip(t[::2], t[1::2]) 我认为这是足够pythonic,但经过最近的讨论涉及成语与效率 ,我决定做一些testing: 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 pairs_1, pairs_2, pairs_3, […]

在Java中抓取数组的一部分,而不用在堆上创build新的数组

我正在寻找一种Java方法,将返回一个数组的一部分。 一个例子是获取包含字节数组的第4个和第5个字节的字节数组。 我不想在堆内存中创build一个新的字节数组,只是为了做到这一点。 现在我有以下代码: doSomethingWithTwoBytes(byte[] twoByteArray); void someMethod(byte[] bigArray) { byte[] x = {bigArray[4], bigArray[5]}; doSomethingWithTwoBytes(x); } 我想知道是否有办法做doSomething(bigArray.getSubArray(4, 2)) ,其中4是偏移,2是长度,例如。

你如何在Python中使用省略号切片语法?

这出现在Python的隐藏function ,但我看不到很好的文档或例子,解释如何function的作品。

JavaScript中 .slice.call的解释

我偶然发现了将DOM NodeList转换为常规数组的简洁捷径,但是我必须承认,我并不完全理解它是如何工作的: [].slice.call(document.querySelectorAll('a'), 0) 所以它开始于一个空的数组[] ,然后slice被用来将call的结果转换为一个新的数组呀。 我不明白的是call 。 如何将document.querySelectorAll('a')从NodeList转换为常规数组?

Python:在__getitem__中实现切片

我正在尝试为我创build的类创buildvector表示的切片function。 我有这个代码到目前为止,我相信会正确地实现切片,但每当我做一个像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]

Javascript chop / slice /修剪string中的最后一个字符

我有一个string12345.00想要它返回12345.0 我已经看过修剪,但只看到修剪空白和切片,我不明白这将如何工作。 有什么build议么 ?