亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字符串拆分為正數和負數python?

將字符串拆分為正數和負數python?

慕無忌1623718 2022-07-12 15:49:01
我希望能夠拆分這樣的東西:"20 - 5 - 4 + 10 + 4"要么作為帶符號的數字進入一個列表:["20", "-5", "-4", "+10", "+4"]或進入兩個無符號列表:["20", "10", "4"] ["5", "4"]有沒有我可以在 python 中使用的內置方法?
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

您可以使用re.findall:


import re

s = "20 - 5 - 4 + 10 + 4"

new_s = re.findall('[-+]?\d+', s.replace(' ', ''))

輸出:


['20', '-5', '-4', '+10', '+4']


查看完整回答
反對 回復 2022-07-12
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

如果不存在空格或任何其他運算符,則沒有regex但會中斷。


expr = "20 - 5 - 4 + 10 + 4"

tokens = expr.split()

if tokens[0].isnumeric():tokens = ['+'] + tokens

tokens = [''.join(t) for t in zip(*[iter(tokens)]*2)]

pos = [t.strip('+') for t in tokens if '+' in t]

neg = [t.strip('-') for t in tokens if '-' in t]

或按照@Sayse建議:


tokens = expr.replace('- ','-').replace('+ ','+').split()

pos = [t.strip('+') for t in tokens if '-' not in t]

neg = [t.strip('-') for t in tokens if '-' in t]


查看完整回答
反對 回復 2022-07-12
  • 2 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號