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. xml中的空格之完全解說(shuō)2. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問(wèn)題……3. html小技巧之td,div標(biāo)簽里內(nèi)容不換行4. CSS3中Transition屬性詳解以及示例分享5. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法6. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法7. WML語(yǔ)言的基本情況8. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題9. 匹配模式 - XSL教程 - 410. XML入門(mén)的常見(jiàn)問(wèn)題(四)
