一日一技:使用管道 Pipe 写 Python 代码竟如此简洁,2024最新Python大厂面试真题大全

连接元素


操作嵌套列表时非常痛苦,值得高兴的是 pipe 给出了很友好的接口,只需要 chain 一下即可。

In [11]: list([[1, 2], [3, 4], [5]] | chain)

Out[11]: [1, 2, 3, 4, 5]

In [30]: list((1, 2, 3) | chain_with([4, 5], [6]))

Out[30]: [1, 2, 3, 4, 5, 6]

In [31]: list((1, 2, 3) | chain_with([4, 5], [6,[7]]))

Out[31]: [1, 2, 3, 4, 5, 6, [7]]

如你所见,chain 只可以拆开一层,如果要拆开多层嵌套的话,不要慌,traverse 轻松搞定。

In [12]: list([[1, 2], [[[3], [[4]]], [5]]] | traverse)

Out[12]: [1, 2, 3, 4, 5]

结合 select 一起,获取字典中的某个字段属性集合。

In [32]: fruits = [

…: {“name”: “apple”, “price”: [2, 5]},

…: {“name”: “orange”, “price”: 4},

…: {“name”: “grape”, “price”: 5},

…: ]

In [33]: list(fruits

…: | select(lambda fruit: fruit[“price”])

…: | traverse)

…:

Out[33]: [2, 5, 4, 5]

分组

对列表中的元素进行分组是必不可少的,在 pipe 中可以使用 groupby 来完成。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值