看板 Python 關於我們 聯絡資訊
※ 引述《Thisisnotptt (這不是PTT)》之銘言:
eric781101: 可以用'100'.replace('.0','') 07/07 23:13
bigpigbigpig: '100.0'.replace('.0','') ==> '100' 07/08 07:53
zkdzvy22: 如果字串小數點後不一定是0的話可以用str(int(s))嗎? 07/09 11:25
zkdzvy22: 速度上是不是比較慢? 07/09 11:25
迅速做了一些比較 https://gist.github.com/uranusjr/ac00e9ef4e9602c8948d 正規表示式想也知道一定超慢, 這種事用不到它 然後那個字串其實不能直接轉 int, 必須先轉 float, 結果也明顯慢於直接處理字串 我的電腦上最好的方式大概是 replace, find 和 rfind 一般來講 replace 會比 find 快一些, 但結果很接近 數字較小的時候甚至 find 會比 replace 快 隨著數字越大, rfind 的優勢會越來越明顯 如果小數位數明顯少於整數位(例如 1000.0)幾乎可以確定 rfind 優於 find 但最多也就和 replace 差不多而已 至少前後要差到六七位才會看到 rfind 與 find 超過 replace 所以大概可以確定一般狀況下 replace 最好了 除非你的數字很大, 才需要考慮用 find 與 rfind 其他方法基本不用考慮 -- "問おう、貴方が私のマスターか?" -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.94.57 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1436422036.A.298.html ※ 編輯: uranusjr (140.112.94.57), 07/09/2015 14:07:42
tiefblau: 實驗精神推 我電腦也是replace最快 07/09 16:03
Thisisnotptt: 感謝測試!! 07/09 17:12
eight0: partition 呢? 07/09 20:22