各位大师,想要删除list中重复的元素,如何实现
各位大师,我想删除list中的相同而且多余的元素(合并相同),如何实现呢?有没有快捷的函数什么的?如:list(1 2 4 5 1 4 2 5 1 3 3 4 2 3 5 )=>list( 1 2 3 4 5)
方法很多,但是好像没有独立的函数可以快捷操作,以下仅供参考:
方法一:
foreach(item items
list=cons(item remove(item items))
)
方法二:
resultItem = nil
foreach(item items
unless(member(item car(resultItem))
resultItem=tconc(resultItem item)
) vivienluo 发表于 2013-7-22 21:14 static/image/common/back.gif
方法很多,但是好像没有独立的函数可以快捷操作,以下仅供参考:
方法一:
foreach(item items
非常感谢vivienluo能这么快能帮忙解决问题,问题已解决。
虽然我很希望你能给个独立函数(我找了好久也没找到),但是你提供的两种方法貌似是挑选出来的。我筛选的数据量有时挺大,重复的较多,我用方法一。
通过方法一,结合目前的情况(重复较多),我转换一下:
while(item = car(items)
items = remove(item items)
items = cdr(items)
list = cons(item list)
)
麻烦看看是否妥当。 chuankay 发表于 2013-7-22 22:45 static/image/common/back.gif
非常感谢vivienluo能这么快能帮忙解决问题,问题已解决。
虽然我很希望你能给个独立函数(我找了好久也没 ...
如果想要减少计算量的话,想办法减少循环次数就行。应该都是差不多的。 Execl 可以篩選 f126054488 发表于 2013-7-23 15:12 static/image/common/back.gif
Execl 可以篩選
是的 不过我的目标是在代码执行时就筛选,目前我还不知道skill怎么和excel接口。 http://www.allegro-skill.com/thread-1060-1-1.html XYX365 发表于 2013-8-9 11:40 static/image/common/back.gif
http://www.allegro-skill.com/thread-1060-1-1.html
这个函数对我很重要,万分感谢,,,:D:D:D:D:D:D:D:D
页:
[1]