说说python特有的列表生成式。python的列表的生成式主要用法是什么?

用法就是可以使用简洁的代码生成出list集合。

直接用代码举了例子:

利用列表生成式生成列表[1x2,3x4,5x6,7x8,....,99x100]

>>> [x*(x+1) for x in range(1,100,2)]

解析:range(1,100,2) 从1~100数字中每隔2个数字取元素。

之前在上一节讲迭代的时候,有提供zip()函数,将两个list合并成一个list。索引生成上面的列表也可以这么写:

>>>print [x * y for x,y in zip(range(1,101,2),range(2,101,2))]

也可以针对dict迭代生成列表生成式。来看下面的例子:

>>> d = {'A':67,'B':90,'C':87}
>>> print [(name,score) for name ,score in d.items()]
[('A', 67), ('C', 87), ('B', 90)]

针对这种列表生成式还可以加上条件过滤。来看下面的例子:

>>> [x for x in range(1,11)if x%2 == 0]
[2, 4, 6, 8, 10]

学过其他编程语言的人都知道,循环是可以嵌套的。在python列表生成式中,也可以嵌套循环。

来看下面的例子:利用三层for循环的列表生成式,找出对称的3位数。例如121就是对称数。

>>>print [i*100+j*10+k for i in range(1,10) for j in range(0,10) for k in range(1,10) if i==k]

最新文章

  1. 使用shell/python获取hostname/fqdn释疑
  2. C#读写config配置文件
  3. oracle 11g r1 RAC增加新节点
  4. Linux之保留yum安装软件后的RPM包
  5. frequentism-and-bayesianism-chs
  6. 分享一下jQuery UI的地址
  7. Linq101-Set
  8. 关于后台数据库正常存储中文通过Ajax方式传递到前台变成问号的处理
  9. 用Java来比较JavaScript的一些特性
  10. Discuz!提取文章标签
  11. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
  12. SpringBoot系列: 理解 Spring 的依赖注入(二)
  13. HashSet、TreeSet和LinkedHashSet分别基于HashMap、TreeMap和LinkedHashMap
  14. WARNING: CPU: 0 PID: 1 at ./arch/x86/include/asm/fpu/internal.h:373
  15. JS 解决json字符串转换成json树形输出
  16. 移动端font-size适配方案
  17. Idea安装及其简介
  18. select2 下拉搜索 可编辑可搜索 / 只可搜索
  19. Python--进阶处理6
  20. Linux系统中的vi/vim指令【详解】

热门文章

  1. Swift—静态方法-备
  2. 复杂事件处理引擎—Esper参考(事件部分)
  3. D3js初探及数据可视化案例设计实战
  4. 转:Yelp开发团队发布内部网站设计指南
  5. php/java bridge
  6. uva 10034 Problem A: Freckles
  7. 优化大型复杂SQL
  8. Hadoop2.4.1 使用MapReduce简单的数据清洗
  9. [深入React] 9.小技巧
  10. 我的创业劲儿,无可阻挡-JAVA学院张孝伟