python eval 轉換k m到乘法計算的操作
我之前寫了各種if substr函數,各種報錯
正確到熱淚盈眶的函數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)報錯函數
# 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() 函數
eval() 函數用來執行一個字符串表達式,并返回表達式的值。
補充:python中的eval函數及求四則運算
輸入描述:輸入一個表達計算式
輸出描述:得到輸出結果
例子輸入:3+2*{1+2*[-4/(8-6)+7]}
輸出:25
代碼:功能1:eval()函數能將字符串string對象轉化為有效的表達式參與求值運算,并返回計算結果
while True: try:s = str(input())print(eval(s)) except:break功能2:
eval()函數去掉參數最外側引號并執行余下語句的函數
print(eval('’Hello world’')) # 輸出 Hello world#print(eval('Hello world')) # 因為eval()函數去掉外部的雙引號后,成為變量Hello world,而之前沒有定義過該變量,所以會報錯。print(eval(’'1+2'’)) # 輸出1+2
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
