【发布时间】:2019-09-27 03:41:50
【问题描述】:
在下面的代码块中,我知道 s 是字符串。 re.split() 将生成一个拆分结果列表,列表推导将遍历创建的每个结果。
我不明白“如果我”在这里如何工作。
这来自以下 stackoverflow 线程:https://stackoverflow.com/a/28290501/11292262
s = '125km'
>>> [i for i in re.split(r'([A-Za-z]+)', s) if i]
['125', 'km']
>>> [i for i in re.split(r'(\d+)', s) if i]
['125', 'km']
【问题讨论】:
-
只删除
re.split产生的空项目 -
if i将确保列表中不会保留任何空匹配项。如果i为空,则基本上if i返回false
标签: python regex list split list-comprehension