python eval 轉(zhuǎn)換k m到乘法計(jì)算的操作
我之前寫(xiě)了各種if substr函數(shù),各種報(bào)錯(cuò)
正確到熱淚盈眶的函數(shù)data[’Followers/Fans’] = data[’Followers/Fans’].str.replace(’k|K’,’*1000’).str.replace(’m|M’,’*1000000’).fillna(’0’)data[’Followers/Fans’] = data[’Followers/Fans’].apply(eval)報(bào)錯(cuò)函數(shù)
# def trans(x):# x = str(x)# x = x.strip() # 去除首尾空格# if (x[-1] == ’k’ or x[-1] == ’K’) :# return float(x[0:-1])*1000# elif (x[-1] == ’M’ or x[-1] == ’m’):# return float(x[0:-1])*1000000# else:# return xeval() 函數(shù)
eval() 函數(shù)用來(lái)執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值。
補(bǔ)充:python中的eval函數(shù)及求四則運(yùn)算
輸入描述:輸入一個(gè)表達(dá)計(jì)算式
輸出描述:得到輸出結(jié)果
例子輸入:3+2*{1+2*[-4/(8-6)+7]}
輸出:25
代碼:功能1:eval()函數(shù)能將字符串string對(duì)象轉(zhuǎn)化為有效的表達(dá)式參與求值運(yùn)算,并返回計(jì)算結(jié)果
while True: try:s = str(input())print(eval(s)) except:break功能2:
eval()函數(shù)去掉參數(shù)最外側(cè)引號(hào)并執(zhí)行余下語(yǔ)句的函數(shù)
print(eval('’Hello world’')) # 輸出 Hello world#print(eval('Hello world')) # 因?yàn)閑val()函數(shù)去掉外部的雙引號(hào)后,成為變量Hello world,而之前沒(méi)有定義過(guò)該變量,所以會(huì)報(bào)錯(cuò)。print(eval(’'1+2'’)) # 輸出1+2
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. idea配置jdk的操作方法2. JAMon(Java Application Monitor)備忘記3. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)4. Docker容器如何更新打包并上傳到阿里云5. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法6. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題7. VMware中如何安裝Ubuntu8. python 浮點(diǎn)數(shù)四舍五入需要注意的地方9. Springboot 全局日期格式化處理的實(shí)現(xiàn)10. vue實(shí)現(xiàn)web在線(xiàn)聊天功能
