首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取当前元素和包含Clojure中其他所有内容的列表?

获取当前元素和包含Clojure中其他所有内容的列表?
EN

Stack Overflow用户
提问于 2011-12-12 19:48:23
回答 4查看 160关注 0票数 4

获取包含当前元素对的列表和包含所有其他元素的列表的最快方法是什么?这应该很快,因为列表可能包含一百万个或更多元素。

例如,给定列表(1 2 3)

我想要得到列表((1 (2 3)) (2 (1 3)) (3 (1 2)))

谢谢你的帮忙!

EN

Stack Overflow用户

发布于 2011-12-13 06:28:05

使用集合怎么样?

代码语言:javascript
运行
复制
user> (let [xs #{1 2 3}]
        (for [x xs] [x (disj xs x)]))
([1 #{2 3}] [2 #{1 3}] [3 #{1 2}])

在一个有一百万个项目的集合上做这件事在时间上是不是太糟糕了:

代码语言:javascript
运行
复制
(let [xs (set (range 1000000))]
  (time (count (for [x xs] [x (disj xs x)]))))
"Elapsed time: 841.668 msecs"
1000000
票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8473822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档