flatten相关内容

Clojure:为什么扁平化“用错了东西"?

自从我开始使用 Clojure 以来,我已经读过几次这种东西. 例如,这里:如何将映射转换为序列? 在一些推文中,我不记得确切地说是“如果你使用 flatten 你可能做错了". 我想知道,flatten 有什么问题? 解决方案 我认为这就是他们在您链接的答案中所谈论的内容: so>((comp flatten seq) {:a [1 2] :b [3 4]})(:b ..
发布时间:2022-01-02 23:14:30 其他开发

使用普通 lisp 展平列表

我正在阅读 Paul Graham 的 On Lisp 一书.在第 4 章实用函数中,他给出了对列表进行操作的小函数的示例,这在编写更大的程序时会很有帮助. 其中之一是flatten.给定任意级别的嵌套列表作为参数, flatten 将删除所有嵌套元素并将它们放在顶层. 以下是我实现扁平化的尝试: (defun flatten (lst)(标签 ((rflatten (lst1 ac ..
发布时间:2022-01-01 18:32:42 其他开发

如何展平嵌套的结果?

我正在使用一个第三方库,该库提供我必须“按原样"使用的基于树的数据结构.API 返回 Result.我必须进行一些顺序调用并将错误转换为应用程序的内部错误. 使用 std::error::Error;使用 std::fmt;酒吧结构树{分支:Vec,}实现树{pub fn new(分支:Vec)->自己 {树枝 }}pub fn get_branch(&self, id: usize) ->结果 ..
发布时间:2021-12-26 13:06:21 其他开发

从命名向量中删除名称并仅获取值

我有一个像下面这样的向量 tmp a b c 1 2 3 我想展平这个向量以只得到 1, 2, 3. 我尝试了 unlist(tmp) 但它仍然给我相同的结果. 如何有效地实现这一目标? 解决方案 您只想从 tmp 中删除 names 属性.有很多方法可以做到这一点. 您可以取消命名它. unname(tmp)# [1] 1 2 3 或者使用一种非常常见 ..
发布时间:2021-12-21 13:53:24 其他开发

在 Java 中通过 XSLT 进行 XML 粉碎

我需要转换具有表单嵌套(分层)结构的大型 XML 文件 扁平化 XML分层 XML(多个块,一些重复)扁平化 XML 变成更扁平(“切碎")的形式,每个重复嵌套块有 1 个块. 数据有许多不同的标签和层次结构变化(特别是在层次化 XML 之前和之后分解的 XML 的标签数量),因此理想情况下不应假设标签和属性名称,或层次级别. 只有 4 个级别的层次结构的顶级视图看起 ..
发布时间:2021-12-19 21:10:13 Java开发

使用 jq 展平嵌套的 JSON

我想展平一个嵌套的 json 对象,例如{"a":{"b":1}} 到 {"a.b":1} 以便在 solr 中消化它. 我有 11 TB 的 json 文件,它们都是嵌套的并且在字段名称中包含点,这意味着不是 elasticsearch(点)也不是 solr(没有 _childDocument_ 符号嵌套)可以按原样消化它. 其他解决方案是用下划线替换字段名称中的点并将其推送到ela ..
发布时间:2021-12-13 12:07:37 其他开发

在 Prolog 中展平列表

我只使用 Prolog 几天.我明白一些事情,但这真的让我很困惑. 我想编写一个函数,该函数接受一个列表并将其展平. ?- flatten([a,[b,c],[[d],[],[e]]],Xs).Xs = [a,b,c,d,e].% 预期结果 该函数取出列表的内部结构. 这是我目前所拥有的: flatten2([],[]).flatten2([Atom|ListTail],[Ato ..
发布时间:2021-12-06 14:09:48 其他开发

Python 3 替换已弃用的 compiler.ast flatten 函数

自从编译器弃用以来,推荐的扁平化嵌套列表的方法是什么包? >>>from compiler.ast import flatten>>>flatten(["垃圾",["嵌套的东西"],[],[[]]])['垃圾','嵌套的东西'] 我知道列表扁平化有一些堆栈溢出的答案,但我希望 Pythonic 的标准包,“一种,最好只有一种,明显的方法"来做到这一点. 解决方案 您声明的函数采用嵌 ..
发布时间:2021-12-02 17:18:25 Python

展平不规则的列表列表

是的,我知道之前已经讨论过这个主题(此处、此处、此处、此处),但据我所知,除一个之外,所有解决方案都在如下列表中失败: L = [[[1, 2, 3], [4, 5]], 6] 所需的输出在哪里 [1, 2, 3, 4, 5, 6] 或者甚至更好,一个迭代器.我看到的唯一适用于任意嵌套的解决方案是在这个问题: def flatten(x):结果 = []对于 x 中的 el:如果 has ..
发布时间:2021-11-30 23:02:07 Python

如何从列表列表中制作平面列表

有没有捷径可以从 Python 中的列表列表中创建一个简单的列表? 我可以在 for 循环中完成,但是有没有一些很酷的“单行"? 我用 functools.reduce() 试过了: from functools import reducel = [[1, 2, 3], [4, 5, 6], [7], [8, 9]]减少(lambda x,y:x.extend(y),l) 但我收到 ..
发布时间:2021-11-30 22:59:54 Python

3D 数组(1D 平面)索引

我正在使用坐标系 x(宽度)、y(高度)、z(深度) 只是为了消除混淆,如果有任何 x &y 是平面,我使用 Z 作为高程. 我将每秒访问数组数百万次,基准测试表明使用索引的一维数组更快,我想尽可能提高效率,以便其他东西可以使用这段时间 例如一个二维数组 --> 一维数组的创建只是 Object[] oneDArray = new Object[width * height] ..
发布时间:2021-11-25 02:49:26 Java开发

如何“压平"或“索引"1D 阵列中的 3D 阵列?

我正在尝试将 3D 阵列展平为我游戏中的“块"系统的 1D 阵列.这是一款 3D 方块游戏,基本上我希望区块系统与 Minecraft 的系统几乎相同(但是,无论如何,这都不是 Minecraft 的克隆).在我之前的 2D 游戏中,我使用以下算法访问了扁平数组: 瓷砖[x + y * WIDTH] 但是,这显然不适用于 3D,因为它缺少 Z 轴.我不知道如何在 3D 空间中实现这种算法.宽度 ..
发布时间:2021-11-25 00:34:28 C#/.NET

如何做“平推"在 JavaScript 中?

我想将源数组的所有单个元素推送到目标数组上, target.push(source); 只将源的引用放在目标列表中. 相反,我想做: for (i = 0; i javascript 中有没有一种方法可以更优雅地做到这一点,而无需明确编码重复循环? 当我在做的时候,正确的术语是什么?我不认为“平推"是正确的.谷歌搜索没有产生任何结果,因为源和目标都是数组. 解决方案 ..
发布时间:2021-11-18 05:06:26 前端开发

如何合并子数组值并删除重复项?

$arr[] = array('A','B');$arr[] = array('C','B');... 我需要得到 $arr 的所有子数组的合并结果. 对于重复的条目,应该只获取一个. 解决方案 如果你真的不想循环,试试这个: $arr[] = array('A','B');$arr[] = array('C','B');$arr[] = array('C','D');$arr[ ..
发布时间:2021-11-18 03:10:47 PHP

如何在jQuery中展平数组?

如何在 jQuery 中简单地展平数组?我有: [1, 2, [3, 4], [5, 6], 7] 我想要: [1, 2, 3, 4, 5, 6, 7] 解决方案 您可以使用 jQuery.map,如果你已经加载了 jQuery 库,这是要走的路. $.map( [1, 2, [3, 4], [5, 6], 7], function(n){返回 n;}); 退货 [1, 2, 3, ..
发布时间:2021-11-18 02:59:48 前端开发

扁平化多维数组连接键

可能的重复: PHP 在连接键时将嵌套数组转换为单个数组? 递归获取数组的键并创建下划线分隔的字符串 请在回答之前阅读整个问题. 我有这个多维数组: $data = 数组('用户' =>大批('电子邮件' =>'user@example.com','名称' =>'超级用户','地址' =>大批('计费' =>'街 1','交货' =>'街道2')),'发布' =>'你好,世界!' ..
发布时间:2021-11-18 02:43:23 PHP