我可以通過幾種方法將%
轉換爲十進制,例如使用正則表達式提取int部分,除以100
或者拆分'%'
和int()
第一部分。但是我想知道是否有更加pythonic的方式來做到這一點?Pythonic從3%得到.03的方法
1
A
回答
3
右鍵條的百分比,解析浮法,再除以100:
float(your_string.rstrip('%'))/100.0
這將允許多個%
,不過,這可能是也可能不是一件好事。如果您知道的最後一個字符將總是是%
,你可以切串:
float(your_string[:-1])/100.0
0
的數量應該有一個(也是唯一一個)% - 符號,並在該年底字符串:
def perc2num(p):
p = p.strip() # get rid of whitespace after the %
if p.endswith('%') and p.count('%') == 1:
return float(p[:-1])
else:
raise ValueError('Not a percentage.')
float()
轉換將刪除數字和%之間的空格。
測試:
In [11]: perc2num('3.5%')
Out[11]: 3.5
In [12]: perc2num('-0.2')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-12-9a6733e653ff> in <module>()
----> 1 perc2num('-0.2')
<ipython-input-10-44f49dc456d1> in perc2num(p)
3 return float(p[:-1])
4 else:
----> 5 raise ValueError('Not a percentage.')
ValueError: Not a percentage.
In [13]: perc2num('-7%')
Out[13]: -7.0
In [15]: perc2num(' 23%')
Out[15]: 23.0
In [16]: perc2num(' 14.5 %')
Out[16]: 14.5
In [17]: perc2num(' -21.8 % ')
Out[17]: -21.8
相關問題
- 1. 從shell命令獲得輸出的最pythonic方法
- 2. Pythonic方式來獲得`package.module.Class`
- 3. Django循環的pythonic方法
- 4. 轉換 「3 - 4」 到 「03 - 04」 用PHP
- 5. Pythonic從SQL表結構加載列表的方式python 3.x
- 6. 從方法得到Hashmap
- 7. Pythonic方式得到枚舉的最後一個索引值
- 8. Pythonic的方式添加幾個方法到幾個類?
- 9. 從plist得到一個值的方法
- 10. Pythonic添加元素的方法csv.writerows
- 11. 嵌套數據的Pythonic方法?
- 12. pythonic方法來修復破損的xml
- 13. 調整numpy陣列軸的pythonic方法
- 14. Pythonic創建2d數組的方法?
- 15. 數組中值比較的pythonic方法?
- 16. Pythonic構建數據結構的方法
- 17. Pythonic的方法來命名派生類
- 18. 異常的更多pythonic方法?
- 19. 應用函數列表的Pythonic方法?
- 20. 提取前的詞典鍵[Pythonic方法]
- 21. 處理sqlalchemy模型的pythonic方法
- 22. 什麼是計算argmax的pythonic方法?
- 23. Pythonic設置排序順序的方法?
- 24. Python模擬itertools.product的pythonic方法2.4
- 25. 將對象的方法映射到對象列表的更多pythonic方法
- 26. Pythonic從堆中提取元素的方法
- 27. Pythonic從CSV文件複製列的方法
- 28. Pythonic從包裝中導入模塊的方法
- 29. 將字符串集合映射到整數的pythonic方法
- 30. 代碼自編寫測試方法的pythonic方法
呃,是如何解析的數量不是 「Python化」? – 2013-03-28 02:22:46