chuchiwolong 发表于 2014-8-27 17:17:47

请问有没有查找list中特定数据所在的序号的功能或函数?

如题,举例如下:
list定义:a={1,3,4,2,6,2,7,5,1,8}
有没有函数不经过遍历,直接得到5的序号为8?

另外想找到小于4的数的序号,例如a里面的1、3、2、2,序号分别为1,2,4,6。有没有这样的函数?同样要求不遍历。
谢谢!

vivienluo 发表于 2014-8-27 19:06:44

listnindex函数
例子:
(listnindex "dog" '("three" "dog" 'night))
-> 2

XYX365 发表于 2014-9-4 14:09:31

本帖最后由 XYX365 于 2014-9-18 08:06 编辑

vivienluo 发表于 2014-8-27 19:06
listnindex函数
例子:

應該是list在前面

listnindex('("three" "dog" 'night)"dog")
=> 1
lindex('("three" "dog" 'night)"dog")
=> 2
PS. lindex 只有在V16.6版本以上才有的函數

vivienluo 发表于 2014-9-4 21:27:35

XYX365 发表于 2014-9-4 14:09
應該是list在前面

:lol

chuchiwolong 发表于 2014-9-22 10:02:55

vivienluo 发表于 2014-8-27 19:06
listnindex函数
例子:

还有几个函数:
1)member 函数
member函数从List的返回第一个元素查找到最后,如果找到返回找到的元素开始直到最后的元素,找不返回nil。
member( 3 '( 2 3 4 3 5 )) => (3 4 3 5)
member( 6 '( 2 3 4 3 5 )) => nil
2)assoc 函数
assoc函数的书写格式为:assoc(g_key l_alist),g_key变量为所查找的关键值,l_alist是为一个由多个List组成的List,格式为:((key1 value1) (key2 value2) (key3 alue3) ...)。
assoc返回查找到的子List。
aList = '(( 1 "one" )( 2 "two" )( 3 "three" ))
assoc( 2 aList ) => ( 2 "two" )
assoc( 5 aList ) => nil
页: [1]
查看完整版本: 请问有没有查找list中特定数据所在的序号的功能或函数?