我有这样的清单:
['8 ', '27', '90+1 ','27','90+3','47']
Run Code Online (Sandbox Code Playgroud)
我的目标是得到这样的:
['8', '27','90','27','90','47']
Run Code Online (Sandbox Code Playgroud)
如何从列表中删除"+"标记和下一个数字?
您可以使用以下表达式:
[x.split('+',1)[0] for x in data]
Run Code Online (Sandbox Code Playgroud)
使用data原始列表:
>>> [x.split('+',1)[0] for x in data]
['8 ', '27', '90', '27', '90', '47']
Run Code Online (Sandbox Code Playgroud)
因此split(),我们使用将字符串转换为子字符串列表,拆分为+.这1是可选的,但会阻止系统创建更多元素.然后我们采取第一个子列表.
使用正则表达式删除加号和后续字符听起来是一种合乎逻辑的方式:
import re
l = ['8 ', '27', '90+1 ','27','90+3','47']
newl = [re.sub("\+.*","",x) for x in l]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |