python if else用法_python列表推导式中使用if-else
今天在處理自動化郵件數據時碰到數據行中包含字符串后,從hive中拿到的整數型數據自動轉化成了浮點數,嚴重影響美觀性。因此想到了用列表推導式來做轉化,將其中的數字型數據全部轉化為整型,而字符型數據保留原樣。
列表推導式總共有兩種形式:
①[x for x in data if condition]
此處if主要起條件判斷作用,data數據中只有滿足if條件的才會被留下,最后統一生成為一個數據列表
②[exp1 if condition else exp2 for x in data]
此處if...else主要起賦值作用,當data中的數據滿足if條件時將其做exp1處理,否則按照exp2處理,最后統一生成為一個數據列表
例子如下:data = ['driver', '2017-07-13', 1827.0, 2058.0, 978.0, 1636.0, 1863.0, 2537.0, 1061.0]
(1)若我要取得以上列表中值大于2000的數值,這里可以使用列表推導式的形式①:[x for x in data if x > 2000]
得到如下結果(字符串類型數據被認為是無窮大數):['driver', '2017-07-13', 2058.0, 2537.0]
(2)若要解決我上面提到的問題,則需要使用列表推導式的形式②[int(x) if type(x) == float else x for x in data]
得到結果:['driver', '2017-07-13', 1827, 2058, 978, 1636, 1863, 2537, 1061]
總結
以上是生活随笔為你收集整理的python if else用法_python列表推导式中使用if-else的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么让手机变电脑手机如何变电脑
- 下一篇: python无法安装pycurl_Pyt