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