博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lisp 习题 occurrences
阅读量:2498 次
发布时间:2019-05-11

本文共 1012 字,大约阅读时间需要 3 分钟。

  1. 定义一个函数,接受一个列表并返回一个列表,指出相等元素出现的次数,并由最常见至最少见的排序:
> (occurrences '(a b a d a c d c a))((A . 4) (C . 2) (D . 2) (B . 1))
(defun cnt-item (item lst)
       (let (( cnt 0))
         (dolist (obj lst)
           (if (equal obj item)
           (setf cnt (+ cnt 1))))
         (cons item cnt)))
CL-USER> (cnt-item 'a '(a b c a))
(A . 2)
CL-USER> (defun occ (lst)
       (if (null lst)
           nil
           (let ((x nil))
         (dolist (obj lst)
           (pushnew (cnt-item obj lst) x  ))x)))
STYLE-WARNING: redefining COMMON-LISP-USER::OCC in DEFUN
OCC
CL-USER> (occ '(a b b a c))
((C . 1) (A . 2) (B . 2) (B . 2) (A . 2))
CL-USER> (defun occ (lst)
       (if (null lst)
           nil
           (let ((x nil))
         (dolist (obj lst)
           (pushnew (cnt-item obj lst) x :test #'equal ))x)))
STYLE-WARNING: redefining COMMON-LISP-USER::OCC in DEFUN
OCC
CL-USER> (occ '(a b b a c))
((C . 1) (B . 2) (A . 2))
CL-USER>
CL-USER> (occ '(a a  b  b  c c (a.c) b b a c))
(((A.C) . 1) (C . 3) (B . 4) (A . 3))
CL-USER>
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-740280/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-740280/

你可能感兴趣的文章
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>
vnpy学习11_增加测试评估指标
查看>>
资金流入流出计算方法
查看>>
海龟交易法则07_如何衡量风险
查看>>
海龟交易法则08_风险与资金管理
查看>>
海龟交易法则09_海龟式积木
查看>>
海龟交易法则10_通用积木
查看>>
海龟交易法则14_掌控心魔
查看>>
海龟交易法则16_附原版海龟交易法则
查看>>
克罗谈投资策略01_期货交易中的墨菲法则
查看>>
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>
通向财务自由之路01_导读
查看>>