用find/find-all match方式查找list元素
2014-12-17 00:29
260 查看
查找list中的一个子list
假定数据库里面有若干行记录,newlisp mysql模块返回结果是用一个list表示这个若干行记录,然后每个元素都是一个list,里面包含一行记录,每行记录list里面有包含了若干list,每个list都有两个元素:字段名和字段值。现在我们可以用find方式来进行模式查找
> (find (list (list "issue_id" 1773) '*) '((("issue_id" 1773) ("custom_field_id" 7) ("type" "IssueCustomField") ("name" "\229\143\145\231\142\1\
76\230\151\165\230\156\159") ("default_value" "") ("value" "2014-06-27"))) match)
0
这个例子就是查找这些行里面第一个字段名为issued_id,值为1773的行,由于用的是find,所以查找的是第一行。find返回0, 用$0可以查看结果。
> $0
(("issue_id" 1773) ("custom_field_id" 7) ("type" "IssueCustomField") ("name" "发现日期")
("default_value" "")
("value" "2014-06-27"))
查找list中的若干子list
用find-all可以找到所有符合模式的记录,(set 'r (find-all (list (list "issue_id" issue-id) '*) issue-customized-values))
和find差不多,只是注意结果是直接返回的。因此不要用$0查看结果。不过$count可以查看有多少记录被找到。
find/find-all match特别适合用于对数据库结果记录集进行进一步的查找
相关文章推荐
- leetcode-389. Find the Difference 字典,查找某个元素a不在list中
- c#中List <int[]>集合添加和查找元素
- vector中元素的查找(find_if)与复制(copy)
- adjacent_find 查找相邻元素
- 编写程序,查找并删除forward_list<int>中的奇数元素
- List<T>对元素的查找。
- 查找List,Array中元素的其他C#写法
- List元素的几种for循环方式及其点评
- 从小到大有序列list,二分法查找所有大于M,小于N的元素
- 在list中查找find
- 关于查找数组中是否存在重复元素的方法总结(Find A Duplicate)
- c#中List <int[]>集合添加和查找元素
- [Android] ExpandableListActivity使用findViewById查找child中view的时序问题
- stl 的find_if算法用来查找容器内的符合条件的元素
- 循环删除List中的元素的问题-两种方式(不一样的结果)
- List元素的几种for循环方式及其点评
- List<T> 排序(Sort)查找(Find)功能的多种实现
- map常用成员(关联容器)----创建map<主键,主键对应的值>,增insert,删erase,改查找find,然后修改second,遍历iterator,获取元素个数size,判空empty
- list中如何查找两个元素间的某个元素
- 获取list集合map集合中元素的方式