Clojure 从指定位置的 Vector 中删除项目

2024-01-09

有没有办法根据索引从向量中删除项目,目前我正在使用 subvec 来分割向量并再次重新创建它。我正在寻找向量的 assoc 的反面?


subvec可能是最好的方法。 Clojure 文档说subvec is "O(1) 并且非常快,因为生成的向量与原始向量共享结构并且不进行修剪“。另一种方法是遍历向量并构建一个新的向量,同时跳过某些元素,这会更慢。

从向量中间删除元素并不是向量所擅长的。如果您必须经常这样做,请考虑使用哈希映射,以便您可以使用dissoc.

See:

  • subvec http://clojuredocs.org/clojure.core/subvec at clojuredocs.org
  • subvec https://clojure.github.io/clojure/clojure.core-api.html#clojure.core/subvec at clojure.github.io,官方网站指向的地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Clojure 从指定位置的 Vector 中删除项目 的相关文章

  • 我可以让 lein cloverage 跳过特定测试吗?

    我正在进行一个 Leiningen 项目 其集成测试注释如下 deftest manual test v3 preview preview client http localhost 10313 v3 preview 当我这样做时 这些测试
  • Rust 是否包含一种直接检查一个向量是否是另一个向量的“子串”的方法?

    你可以用String using contains它搜索一个模式 但是Vec contains是针对单个元素的 我能够做到这一点的唯一方法是直接实现某种子字符串函数 但我有点希望有一种内置的方法 let vec1 vec 1 2 3 4 5
  • 向量中的可变结构

    我正在尝试创建一个向量来跟踪游戏中的敌人 该向量将保存一堆可变结构 我有一个世界结构 其中有敌人作为其成员 如下所示 pub struct World pub player Creature pub enemies Vec
  • 为什么 clojure-mode 用一些卷曲的 f 字符替换 fn ?

    我刚刚开始使用 emacs 入门套件和 clojure 模式 现在 当我输入或粘贴 fn 在 Clojure 模式下进入缓冲区 fn 字符在窗口中被替换为稍微卷曲的小写字母 f 缓冲区已正确保存 但这非常烦人 尤其是当我以艰难的方式发现该功
  • 如何检查spec/col-of中的不同ID

    s def users s coll of user distinct true 上面的规范要求每个用户映射都是不同的 但是我如何指定它来检查不同的 user ids only 不应允许以下集合 id 10 name Jessica id
  • 向量和常量

    考虑一下这个 void f vector
  • GLM:如何转置向量?

    也许我只是在文档中遗漏了一些东西 但 GLM 似乎不可能对向量进行转置 我也没有看到 mat3x1 或 mat1x3 类型 另外 glm transpose 不适用于向量 我是否遗漏了某些内容 或者这只是 GLM 中缺少的功能 GLM 基于
  • 如何解构向量以用作函数参数

    在 Python 中 您可以将列表或元组传递给函数并让函数解压参数 我怎样才能在 Clojure 中做到这一点 下面是一些 Python 代码示例 def f a b c d print a a print b b print c c pr
  • 快速向量初始化 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 C 使用硬编码元素初始化 STL 向量的最简单方法 https stackoverflow com questions 2236197 c easiest way to initialize an s
  • clojure.spec 人类可读的形状?

    使用 clojure spec 有没有办法为嵌套映射定义更 人类可读 的规范 以下内容读起来不太好 s def my domain entity s keys req un a b s def a s keys req un c d s d
  • 从外部 clojar 导入/使用资源

    我想做的是将一个大文件 MIDI 声音字体 打包到一个独立的 Maven repo clojar 中 然后能够以编程方式将其拉下来并从单独的项目中使用它 事实证明 这个看似简单的任务比我想象的要复杂 理想的情况是 如果有一种方法可以直接访问
  • Clojure 尾递归与质因数

    我正在尝试自学 clojure 并使用 Prime Factors Kata 和 TDD 的原则来实现这一目标 通过一系列 Midje 测试 如下所示 fact primefactors 1 gt list fact primefactor
  • 在 C++ 中将大型数据向量写入/读取到二进制文件

    我有一个 C 程序 它通过将 ascii 文件中的网格人口数据读取到大型 8640x3432 元素双精度向量中来计算给定半径内的人口 将 ascii 数据读入向量大约需要 30 秒 循环每列和每行 而程序的其余部分只需要几秒钟 我被要求通过
  • 将嵌套映射分解为键值对

    我想将 Clojure 中的嵌套映射分解为一系列键值对 例如 我们有这张地图 a b c d e f g h i j 分解后的地图应如下所示 a b c d e f g h i j d e f g h e f g h i j 输出的顺序并不
  • 在 Android 上运行 Java 字节码 - DalvikVM 之上的 Sun JVM

    由于 java 实现 OpenJDK 和Android的虚拟机DalvikVM是开源的 因此必须可以在Google的DalvikVM之上实现Sun的JavaVM 这将使运行基于 JVM 的应用程序和语言成为可能 Clojure Jython
  • Clojure:对于 n 维

    Clojure 中的函数for可用于迭代嵌套序列 想象一个具有 x y 和 z 轴的 3D 空间 for x range 10 y range 5 z range 2 x y z 上面的代码将生成一个向量序列 表示长方体内所有可能的位置 当
  • Leiningen 在哪里安装 clojure 库?

    第一次运行lien 它会安装clojure 但是要安装吗 似乎并不在 图书馆 图书馆 lein clojure jar 和贡献 jar 在 Unix OS X 标题 上是否有固定位置 Leiningen使用maven 或者更准确地说 是实现
  • 为什么 CouchDB 使用仅追加 B+ 树而不是 HAMT

    我正在阅读数据结构 尤其是不可变的数据结构 例如仅追加 B 树 http guide couchdb org draft btree html用于 CouchDB 和哈希数组映射 trie http en wikipedia org wik
  • 使用 size_t 值反向遍历向量

    我想以相反的方向遍历向量的值 如您所知 向量的大小为 size t 当我使用以下代码时 for size t r m size 1 r gt 0 r x r f r for size t c r 1 c lt m size c x r m
  • 3D 数组到 3D std::vector

    我在代码函数中用 3D std vector 替换了 3D 数组 它进入了无限循环 你能给我一个提示吗 我真的需要使用向量而不是数组 谢谢 我最初的代码是 arr is a 3D array of a sudoku table the 3

随机推荐

  • 为什么vim地图功能中chrome打不开html?

    我已经在 vimrc 文件中映射了 F6 和 F7 nnoremap
  • 如何附加到录制的 MPEG4 AAC 文件?

    我正在 iPhone 上录制音频 使用的是AVAudioRecorder具有以下设置 NSMutableDictionary recordSettings NSDictionary alloc initWithObjectsAndKeys
  • 将 WebSecurityConfigurerAdapter 与 Spring OAuth2 和 user-info-uri 结合使用

    我创建了一个授权服务 如下所示 SpringBootApplication EnableAuthorizationServer public class AuthorizationApplication 有了这个application pr
  • Hilt - CoroutineDispatcher 上缺少绑定

    我正在重构我的应用程序Hilt作为依赖注入管理器 我有一个构造函数可注入类 构造函数中有两个参数 其中一个参数是CoroutineDispatcher class SubscriptionsLocalDataSource Inject co
  • Bitbucket 要求输入密码来克隆存储库

    我正在从一台新计算机克隆 bitbucket 上的存储库 但它要求我输入密码 我的 bitbucket 密码不起作用 克隆 GitHub 上的存储库效果很好 任何建议将不胜感激 这是我使用 Bitbucket 密码后不断看到的错误 remo
  • R网状无法找到已安装的python库

    我正在尝试在 R 中使用 Reticulate 但在安装包时遇到问题 特别是psycopg2但我也尝试过安装twisted结果相同 我加载后reticulate在 R 中 我仔细检查以确保我的包已安装 gt conda install en
  • 将 Perl 代码转换为 PHP

    我需要将以下 perl 函数转换为 php pack SSA12AC4L id loc name ar split get gt getIP time 60 60 我在 PHP 中使用以下代码 用于测试 echo pack SSA12AC4
  • 将一个值分解为 2 的幂

    我需要实现一个函数 使用 java 将一个值分解为 2 的幂 例如 14 8 4 2 我需要找到两个值被分解的幂 对于上面的示例 我需要 2 3 1 作为输出 我该如何实现呢 利用 Java 使用的二进制表示形式 我不知道你想要 2 的幂采
  • 如何在 XDocument 元素的名称中使用“:”字符?

    我正在使用 XDocument 创建一个 RSS 代码如下 var document new XDocument new XDeclaration 1 0 utf 8 null new XElement rss new XElement c
  • 在哪里可以查看 Google Analytics iOS 崩溃日志?

    在 Google Analytics Native SDK for iOS v2 Beta 中 我在文档中找到了以下行 Optional automatically track uncaught exceptions with Google
  • Github GraphQL 搜索与过滤

    根据我有限的搜索 GraphQL 似乎只能支持等值过滤 所以 是否可以使用以下过滤条件进行Github GraphQL搜索 星星 gt 10 货叉 gt 3 总提交 gt 5 总问题 gt 1 未决问题 尺寸 gt 2k 分数 gt 5 上
  • Android DatePicker 没有星期日

    我正在使用日期选择器来选择特定日期 日期选择器不应允许选择星期日 到目前为止 我正在检测选择后的星期日并显示一条消息 但如果日期选择器不允许星期日 那就更好了 有没有办法做到这一点 检测星期日的代码 private static class
  • 使用 angular2-jwt 的 Angular 6

    将我的应用程序从 Angular 4 迁移到 Angular 6 最新版本 后 我的 Auth 服务中出现了一个非常奇怪的错误 具体来说 当我尝试执行以下操作时 angular2 jwt 包会导致致命错误 serve or build 该应
  • 使用 C 中的位掩码和位运算符检查字符是否为 ASCII

    我需要编写程序来检查标准输入中的每个单独的字符 看看它是否是 ASCII 字符 我知道它需要检查的是第 8 位 代码中的第 7 位 如果我没记错的话 是否为 0 因为 ASCII 只使用 7 位 但我很难弄清楚如何准确地让它检查具体位 这就
  • git-diff 中有类似 diff --show-c-function 的东西吗?

    我一直在处理 git 存储库中的一个文件 如果我有该文件的原始 git 版本的副本 我可以运行 diff show c function 来比较这两个文件 其中 理论上 它显示了已被调用的任何函数的全部内容改变了 这对于弄清楚我专门对文件做
  • 增加 Sublime Text 2 中最近项目的数量?

    是否可以增加 Sublime Text 2 中 项目 gt 最近的项目 菜单中显示的最近项目的数量 我搜索了设置 但没有找到任何内容 编辑这个文件 Library Application Support Sublime Text 2 Pac
  • RectF使用dp还是px?

    在Canvas中 用RectF画一个矩形 需要将top和left设置为dp还是px Integer padding 10 Integer width 100 It is dp or px Integer height 50 RectF po
  • Hadoop:如何将减速器输出合并到单个文件? [复制]

    这个问题在这里已经有答案了 我知道 shell 中的 getmerge 命令可以完成这项工作 但是 如果我想在作业结束后通过 HDFS API for java 合并这些输出 我该怎么办 我真正想要的是 HDFS 上的单个合并文件 我唯一能
  • C# 通用字符串解析为任何对象

    我将对象值存储在字符串中 例如 string values new string 213 4 10 hello MyValue 有什么方法可以通用地初始化适当的对象类型吗 例如 类似的东西 double foo1 AwesomeFuncti
  • Clojure 从指定位置的 Vector 中删除项目

    有没有办法根据索引从向量中删除项目 目前我正在使用 subvec 来分割向量并再次重新创建它 我正在寻找向量的 assoc 的反面 subvec可能是最好的方法 Clojure 文档说subvec is O 1 并且非常快 因为生成的向量与