博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lisp 习题 occurrences
阅读量:2496 次
发布时间: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-740279/,如需转载,请注明出处,否则将追究法律责任。

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

你可能感兴趣的文章
PathEffect 样式解读
查看>>
STM32|4-20mA输出电路(转)
查看>>
FreeModbus在STM32上移植(转)
查看>>
使用 pjax 载入的新页面,新页面上 类方法 无法被触发?
查看>>
sql server从一个数据库复制一个表到另一个数据库的方法
查看>>
微软正式公布Win8版本 ARM版命名为Windows RT
查看>>
4.java设计模式-原型模式(prototype)
查看>>
Javaee -----01----javaee的环境搭建和html标签 ...
查看>>
4-1 组件使用的细节点
查看>>
隐藏Apache的版本号及其它敏感信息
查看>>
ecstore在apache下去掉index.php入口文件
查看>>
ProjectForge 4.2.0 发布,项目管理系统
查看>>
Git常用命令使用大全
查看>>
使用Java的BlockingQueue实现生产者-消费者
查看>>
Rabbitmq基本使用
查看>>
Selenium 2.0自动化测试
查看>>
记录一次统计首页MYSQL非常慢的解决过程
查看>>
Linux中的块设备和字符设备
查看>>
SQL语句汇总(二)——数据修改、数据查询
查看>>
zepto源码--定义变量--学习笔记
查看>>