今天在处理自动化邮件数据时碰到数据行中包含字符串后,从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相关推荐

  1. python双重for循环 列表推导式_Python 列表推导式

    列表推导式(list comprehension)是利用其它列表创建新列表的一种方式.它的工作方式类似于for循环,例如: >>> [x*x for x in range(10)] ...

  2. python列表推导式中使用if和if-else

    在python中,使用列表推导式来完成一些程序逻辑会让程序更为简洁. 本文将用案例的形式教会你如何在列表推导式中使用if...else 目录 1.语法结构 2.实例演示 1.语法结构 列表推导式总共以 ...

  3. python列表推导式中使用if语句及他们的等价形式

    python列表推导式中使用if语句及他们的等价形式 在python的列表推导式中使用if语句有两种形式: # 方式1: 起过滤作用 [expr(x) for x in li if cond(x)] ...

  4. python列表推导式中的多层for循环if-else嵌套

    一.列表推导式中的if-else: 1.只有一个if     [x for x in data if condition] 2.只有一个if-else     [exp1 if condition e ...

  5. python列表推导式格式_Python列表推导式(for表达式)及用法

    for 表达式(列表推导式)用于利用其他区间.元组.列表等可迭代对象创建新的列表. for 表达式的语法格式如下:[表达式 for 循环计数器 in 可迭代对象] 从上面的语法格式可以看出,for 表 ...

  6. python列表解析式如何使用_python列表推导式操作解析

    python列表推导式操作解析 这篇文章主要介绍了python列表推导式操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 基本格式 ​[表达式 ...

  7. python 列表推导_Python 列表推导式使用的注意事项

    python视频教程栏目介绍Python列表推导式的使用. Python 列表推导式并不是给初学者用的,因为它非常反直觉,甚至对于有其他编程语言背景的人也是如此. 我们接触到 List 的使用时,学习 ...

  8. python numpy 奇数偶数行互换_python 列表推导式(经典代码)(21)

    文章首发微信公众号,微信搜索:猿说python 截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率 ...

  9. python列表的实现原理_python列表推导式原理和使用方法

    偶尔会在python中看见这样一行代码: data = [x**2 for x in range(0, 5)] # 此时data = [0, 1, 4, 9, 16] 如果不知道背后的语法规则,那么很 ...

最新文章

  1. 生活只是需要一种积极的态度
  2. 操作系统-南京大学(蒋岩炎)课程--操作系统上的程序
  3. 订单操作-表结构分析与表创建
  4. 洛谷 P1340 兽径管理
  5. java spr_Java中的42行代码中的URL缩短器服务(Java(?!)Spring Boot + Redis
  6. android 应用无法安装程序,朋友android设备无法安装我的Android应用程序,我甚至不能为我自己做...
  7. python concat_python的concat等多种用法详解
  8. Python风格总结:错误和异常
  9. 隐含马尔科夫模型的训练
  10. 表情识别(一)--传统方法概述
  11. word保存为高分辨率图片(word2016)
  12. VB.NET利用WMI获取操作系统所在硬盘序列号
  13. IEEE 1588和IEEE 802.1AS的版本和关系
  14. MVC2 扩展Models和自定义验证(学习笔记)
  15. python手机桌面开发_将Android手机打造成你的Python开发者桌面#华为云·寻找黑马程序员#...
  16. 自定义控件ViewGroup上下滑动
  17. 微软商店安装包_闲着不如折腾,教你现在就尝鲜年底才发售的「微软双屏手机」...
  18. golang interface 与 反射
  19. mysql core dumped_关于Segmentation fault (core dumped)几个简单问题的整理
  20. IT行业最热门的5大岗位,薪酬都有多高?

热门文章

  1. 程序员 rs编码_为什么声明性编码使您成为更好的程序员
  2. java使用:: 表达式_Java 12:开关表达式
  3. java8日期转时间戳_Java 8日期和时间
  4. java实现ldap服务器_Java到LDAP教程(包括如何安装LDAP服务器/客户端)
  5. lucene 查询示例_高级Lucene查询示例
  6. mwc校准油门_编写下载服务器。 第五部分:油门下载速度
  7. swarm:pending_WildFly Swarm:使用Java EE构建微服务
  8. Java / Spring:如何快速生成整个Swagger记录的CRUD REST API
  9. 测量时间:从Java到内核再到
  10. Apache Camel 2.23发布