日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python if else用法_python列表推导式中使用if-else

發布時間:2023/12/3 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。