加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将字符串拆分为列表,将负数考虑在内?

发布时间: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','-']

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读