问题标签 [slice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
553 浏览

ruby - Ruby 中的解析器:#slice!在 #each_with_index = 缺少元素内

比方说,我想从数组中分离出某些元素组合。例如

该代码已完成正确的提取,但它错过了提取集之后的元素。所以如果我的数据数组是

然后

为什么会这样?如何把那些遗漏的元素放进去#each_with_index?或者假设有更多的集合要提取,对于这个问题是否有更好的解决方案?

0 投票
6 回答
35307 浏览

python - 如何将列表随机划分为 n 个几乎相等的部分?

我已阅读Slicing a list into n Near-equal-length partitions [duplicate]问题的答案。

这是公认的答案

我想知道,如何修改这些解决方案以便将项目随机分配到分区而不是增量分配。

0 投票
2 回答
2140 浏览

jquery - .slice 和 .wrapall

我正在使用 stackoverflow 上的成员建议的一些代码,并由我改编以将每 3 个列表项包装为大型菜单的一部分。代码是:

不幸的是,这将从下一个父菜单中获取子 li,以填充 div 中 3 li 的“配额”。这当然会严重破坏我的菜单。有关示例,请访问此处。

有没有人有任何建议我可以如何解决这个问题?

0 投票
2 回答
921 浏览

arrays - 更改引用它们的动态数组是不好的做法吗?

我看了一下 D2 中的动态数组,发现它们很难理解。我似乎也错误地解释了规范。在更改数组时,处理动态数组的引用或切片似乎很容易出错......或者我只是不了解基本原理?

引用同一个数组只共享实际项目:

当它们引用相同的数组时,更改一个会更改另一个:

从数组规范

为了最大限度地提高效率,运行时总是尝试调整数组的大小以避免额外的复制。如果新大小更大并且数组不是通过 new 运算符或先前的调整大小操作分配的,它将始终进行复制。

所以改变长度并不一定会破坏参考:

从数组规范

连接总是会创建其操作数的副本,即使其中一个操作数是长度为 0 的数组

但是当数组相互踩踏时,这些值将被复制到一个新位置并且引用被破坏:

在进行更改之前更改两个数组的长度会产生与上述相同的结果(鉴于上述情况,我希望如此):

更改长度或连接时也是如此(鉴于上述情况,我希望如此):

但随后切片也出现在画面中,突然变得更加复杂!切片可能是孤立的......

所以......对同一个动态数组有多个引用是不好的做法吗?并传递切片等?或者我只是在这里,错过了 D 中动态数组的全部要点?

0 投票
4 回答
2155 浏览

python - 如何使用 numpy 从附加的多维数组中删除“无”

我需要获取一个 csv 文件并将这些数据导入到 python 中的多维数组中,但是在将数据附加到空数组后,我不确定如何从数组中删除“无”值。

我首先创建了一个这样的结构:

这将返回一个由“无”填充的 5 行 x 11 列数组。

接下来,我打开了我的 csv 文件并将其转换为一个数组:

然后,我附加了两个数组:

结果是一个由“无”值填充的数组,后跟我想要的数据(显示的前两行让您了解我的数据的性质):

如何从每一行中删除那些“无”对象,所以我剩下的是 5 x11 多维数组和我的数据?

0 投票
11 回答
278329 浏览

python - 下标序列时,Python中的 :: (双冒号)是什么?

我知道我可以使用类似的东西string[3:4]在 Python 中获取子字符串,但是 3 中的含义是somesequence[::3]什么?

0 投票
5 回答
470 浏览

php - 假数组切片运算符:使其更短

是否有一些创新的方法可以使“打印”更短而不会造成太多混乱?你最喜欢哪个“印刷品”?

更新

我想要做的是将 Python/Ruby 中的切片语法转换为 PHP,例如。

要将其转换为 PHP,您需要像这样引用$a["1:3"]($a 是具有 ArrayAccess 接口的类)所以我在想是否还有其他方法,$a[(0)._.(0)]这太长了。

0 投票
10 回答
15564 浏览

python - 我可以在 Python 列表上创建“视图”吗?

我有一个很大的清单l。我想创建一个从元素 4 到 6 的视图。我可以使用序列切片来实现。

然而lv是一个切片的副本l。如果我更改基础列表,lv则不会反映更改。

反之亦然,我也想修改lv反射l。除此之外,列表大小不会改变。

我不期待建立一个大班来做到这一点。我只是希望其他 Python 大师可能知道一些隐藏的语言技巧。理想情况下,我希望它可以像 C 中的指针运算:

0 投票
2 回答
1834 浏览

python - Python:将二维数组切片成图块

我有一个原始数据文件,我将其读入字节缓冲区(python 字符串)。每个数据值代表代表图像的 2d 数组的 8 位像素。我知道这张图片的宽度和高度。

我想将图像分割成图块,以便每个图块区域必须大于“最小图块区域”(例如 1024 字节)并小于“最大图块区域”(例如 2048 字节)。只要满足区域限制,这些瓦片的高度和宽度是任意的,并且瓦片不需要全部相同大小。此外,输入数据的大小/长度也不能保证是 2 的幂。

什么是在 python 中执行此操作的最佳方法

问候

0 投票
4 回答
29697 浏览

arrays - 如何在没有循环的情况下初始化哈希值?

我试图找出一种无需通过循环即可初始化哈希的方法。我希望为此使用切片,但它似乎没有产生预期的结果。

考虑以下代码:

这确实按预期工作并产生以下输出:

当我尝试如下使用切片时,它不起作用:

输出是:

显然有什么不对劲。

所以我的问题是:给定两个数组(键和值)初始化散列的最优雅的方法是什么?