You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表推导式中如何单次split提取url内keyword后的指定值

实现方案

你可以通过在列表推导式中增加临时变量存储的逻辑,做到每个url仅执行一次split('/')即可拿到目标值,具体实现如下:

res = [parts[parts.index('keyword') + 1] for d in my_list for parts in [d['url'].split('/')]]

逻辑说明

列表推导式里的for parts in [d['url'].split('/')]相当于为每个字典条目生成仅含一个元素的临时列表,遍历一次就把url拆分后的结果赋值给parts变量,全程不会重复执行拆分操作。后续直接基于parts查找keyword的索引,再取索引+1位置的字符串即可。

Python 3.8+ 简化写法

如果你的运行环境支持Python 3.8及以上版本,可通过海象运算符:=更直观地实现相同效果:

res = [parts[parts.index('keyword') + 1] for d in my_list if (parts := d['url'].split('/'))]

此处的if仅用于完成临时变量赋值,因为你已确认输入完全合规,该条件永远成立,不会过滤任何有效条目。

内容的提问来源于stack exchange,提问作者Mehdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:54:03