查找重复编号的逻辑
从nubmer序列中找出重复数的逻辑应该是什么。例如110 111 112 113 114 111 110 111 115 116以及(x,y)
对于示例110,重复2次
("110" ("1057.03 475.00" "821.46 436.99"));;("num" ("1st x y" "2nd x y"))
111重复3次
("111" ("614.88 467.76" "422.80 605.32" "1524.55 420.70"));;("num" ("1st x y" "2nd x y" "3rd x y"))
这样我们就可以把它们放在2个平铺列表框中。在第一个tile num中,在第二个tile中,其所有x和y。
我看不出110和111在你发布的列表中重复了!
你能更具体一点吗?
谢谢 谢谢你的回复。
请立即查看。 这
(setq l '(110 111 112 113 114 111 110 111 115 116))
(foreach i l (if (not (member i lst)) (setq lst (cons i lst))))
(reverse lst)
我认为关注列表是OP声明中的枚举,Tharwat;下面他/她只是提供了一些项目的示例。
VijayP,要列出重复项,只需使用FOREACH解析您的列表,并将每个元素存储到一个新的元素中;使用MEMBER检查当前元素是否已经存在-如果是,则您有一个副本。 塔尔瓦特;您的代码返回的列表没有重复项,但我需要所有重复项及其x y。这样我们才能找到它们
Msasu;有示例代码吗?
如果你没有给出一个明确的例子来说明你在追求什么,人们会不断猜测和发布不必要的代码,也许没有人会遵循你的思路。
这仅供参考。
塔尔瓦特;请再次查看帖子#1 作为“演示”。。。
(setq lst '(("110" ("1.6 3.3" "2.0 3.5" "1.8 2.9"))
("111" ("1.5 3.2" "2.0 3.5" "1.8 2.9"))
("111" ("1.5 3.2" "2.0 3.5" "1.8 2.9"))
("112" ("1.8 3.8" "2.8 3.8" "1.0 2.0"))
("112" ("1.8 3.8" "2.8 3.8" "1.0 2.0"))
("113" ("1.5 3.2" "2.0 3.5" "1.8 2.9"))
("114" ("1.0 3.0" "2.6 3.6" "1.6 2.6"))
("114" ("1.0 3.0" "2.6 3.6" "1.6 2.6"))
)
)
(foreach x lst
(if (member x tmplst)
(setq dup-lst (cons x dup-lst));; dup-lst will retain all the duplicate
)
(setq tmplst (cons x tmplst))
)
HTH公司
亨里克
页:
[1]