如何将字符串拆分为列表,将负数考虑在内?
发布时间:2020-12-20 11:21:54 所属栏目:Python 来源:网络整理
导读:我想分割一个字符串,如: strg = "22+11-aa+bb-44-" 进入这样的列表: my_list = ['22','+','11','-','aa','bb','-44','-'] 所有非数字元素都被完全拆分,如果’ – ‘后面的元素由数字组成,那么它应该与’ – ‘连接在一起并成为负数. 解决方法 没有正则表达
我想分割一个字符串,如:
strg = "22+11-aa+bb-44-" 进入这样的列表: my_list = ['22','+','11','-','aa','bb','-44','-'] 所有非数字元素都被完全拆分,如果’ – ‘后面的元素由数字组成,那么它应该与’ – ‘连接在一起并成为负数. 解决方法
没有正则表达式的解决方案使其更长,但在大型数据集上更快:
strg="22+11-aa+bb-44-" arr=[] i=0 for j in range(len(strg)): if strg[j] in '+-': arr.append(strg[i:j]) if strg[j]=='-' and strg[min(j+1,len(strg)-1)].isdigit(): i=j else: arr.append(strg[j]) i=j+1 print arr 结果: ['22','-'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |