Neo4j笔记(二)Cypher(2)列表

Cypher支持列表操作,并且和Python中的列表很相似。使用[],可以直接手动创建列表,例如:RETURN [1,2,3]。Cypher内置的range函数可以直接返回一个列表,用法和Python中的range也几乎一样。需要注意的是Cypher中的列表和Python一样,可以包含不同类型的元素,如 RETURN [[1, 2], 3, 1, 5.2, "sss"] 。

1、range

定义:range(start, end, step)
其中step可以省略,默认值是1,需要注意:
* 返回结果包含start和end。
* start、end、step必须是Integer 类型。
* 如果start==end,则只返回一个元素的列表。
* 如果start > end,则返回一个负数。
* 如果start > end,且step < 0,则返回一个递减的列表。

2、列表索引

下标索引:RETURN [1,2,3,4][1]      //返回2
倒序索引:RETURN [1,2,3,4][-1]     //返回4
范围索引:RETURN [1,2,3,4][1..3]  //返回[2,3],注意返回的是列表,不包括4
范围索引:RETURN [1,2,3,4][-2..]   //返回[3,4]
越界索引:RETURN [1,2,3,4][2..9]  //只返回[3,4]
越界索引:RETURN [1,2,3,4][7..9]  //返回一个空列表 []
越界索引:RETURN [1,2,3,4][9]      //单个元素越界索引,返回 null

3、列表推导

列表推导是Cypher基于已有列表创建新的列表,可以和where等语句一起使用。功能类似于Python的map操作,也类似于lambda表达式,形式看起来和linux管道符号 | 一样,作用也类似,前面的输出作为后面的输入。
RETURN [x in range(1,3) | x^2]   //输出[1.0, 4.0, 9.0],注意这么写是错误的:RETURN [x^2 in range(1,3)]
RETURN [x in range(1,5) where x%2=0 | x^2]    //返回[4.0, 16.0]

4、列表函数

reverse:列表反转
reverse([1,2,3,4])

tail:跳过列表的第一个元素,在路径遍历的时候会用到
tail([1,2,3,4])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值