当我们要生成list的时候呢我们可以使用range函数:

>>> range(1,5)
range(1, 5)

在3.0的版本呢当中range只是用来生成一个迭代器了(xrange被取代了)。

但是在2.0的版本当中呢我们可以使用range来快速生成list

>>> range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> L = []
>>> for x in range(1,11):L.append(x * x)>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

上面的代码是我们生成的一个list

>>> [x * x for x in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

但是在下面的代码中我们可是使用这种快速的列表生成器来节约代码。

切片类似,我们的range函数不止有两个传入值,还可以有三个传入值

>>> print ([x*(x+1) for x in range(1,10,2)])
[2, 12, 30, 56, 90]

第三个传入值是指定每两个取一个值

在列表生成器当中呢我们还可以在后面附加if条件句

>>> def toUppers(L):return [x.upper() for x in L if isinstance(x,str)]>>> print (toUppers(['hello','world',101]))
['HELLO', 'WORLD']

isinstance(x,str)可以用来判断这是否是一个字符串。

upper()可以用来返回大写字母。

for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。

>>> print([m*100+n*10+z for m in range(1,10) for n in range(0,10) for z in range(1,10) if m*100+n*10+z == z*100+n*10+m])
[101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494, 505, 515, 525, 535, 545, 555, 565, 575, 585, 595, 606, 616, 626, 636, 646, 656, 666, 676, 686, 696, 707, 717, 727, 737, 747, 757, 767, 777, 787, 797, 808, 818, 828, 838, 848, 858, 868, 878, 888, 898, 909, 919, 929, 939, 949, 959, 969, 979, 989, 999]

 

转载于:https://www.cnblogs.com/chang1203/p/5837529.html

python之列表生成式相关推荐

  1. python中列表生成式strip_列表生成式|让你的代码简洁又美观

    本文作者:陈丹慧,中南财经政法大学金融学院 文字编辑:任 哲 技术总编:张馨月 导读 已知列表list1=[1,2,3,4,5,6,7,8,9,10],如果我们想把list1中每个元素都加上2010, ...

  2. python 列表生成式_深度好文:Python之列表生成式、生成器、可迭代对象与迭代器(一)...

    作者:云游道士 原文:https://www.cnblogs.com/yyds/p/6281453.html 本节内容 语法糖的概念 列表生成式 生成器(Generator) 可迭代对象(Iterab ...

  3. python中列表生成式strip_python之列表生成式

    要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, ...

  4. Python——7列表生成式

    */* Copyright (c) 2016,烟台大学计算机与控制工程学院* All rights reserved.* 文件名:text.cpp* 作者:常轩* 微信公众号:Worldhello* ...

  5. 【Python】列表生成式应用的八重境界

    1. 引言 在Python中有非常多且好用的技巧,其中使用最多的是列表生成式,往往可以将复杂的逻辑用简单的语言来实现,本文重点介绍列表生成式应用的八重境界. 闲话少说,我们直接开始吧! 2. Leve ...

  6. Python基础-----列表生成式、偏函数、高阶函数、闭包、装饰器

    列表生成式 列表生成式(列表推导式):通俗理解使用for循环快速创建一个列表,最终要获取一个列表 下面这个我们经常使用比较麻烦的方法: my_list=[] for i in range(1,6):p ...

  7. python中列表生成式strip_列表生成式让你的代码简洁又美观

    本文作者:陈丹慧,中南财经政法大学金融学院 本文编辑:任   哲 技术总编:张馨月爬虫俱乐部云端课程爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律 ...

  8. python comprehensions_python 列表生成式 List Comprehensions

    参考:列表生成式​www.liaoxuefeng.com 生成[1x1, 2x2, 3x3, ..., 10x10]用列表解析式怎么做? a=[i*i for i in range(1,10)] pr ...

  9. python 基础 列表生成式

    data = {'a':'abc';'b':'bac','c':'cba'}[v for k,v in data] 结果 ['abc','bca','cba'] 格式 [x for x in  内容] ...

最新文章

  1. java导入包大全_eclipse快速导入jar包的相关操作步骤
  2. python中3or5什么意思_示例详解Python3 or Python2 两者之间的差异
  3. 科学计算机程序 字表处理软件都是,计算机应用基础知识_计算机应用基础试题及答案【最新资料】.doc...
  4. wpf调用其他项目界面_WPF开发Prism框架实现一个简单播放器
  5. 【学习笔记】JavaScript基础(一)
  6. 移动开发在路上-- IOS移动开发系列 多线程一 [转]
  7. Exchange笔记之Exchange Server 2003前端后端部署
  8. 职业中专计算机高考英语卷子,职业高中高考计算机专业试卷3.doc
  9. ASP.NET统计图表控件
  10. 全球及中国工业自动化电缆行业研究及十四五规划分析报告
  11. 将CAD图纸转换为黑白的PDF文件要怎么操作
  12. Vue高德地图自定义信息窗内绑定点击事件
  13. 升级Windows11后鼠标卡顿
  14. 深度学习DeepLearning
  15. 分享购的逻辑是什么?
  16. Android 开发即时聊天工具 YQ :(四) 获取好友列表
  17. 从英语学习写起,收获2013属于我的金秋
  18. Windows 下常见的反调试方法
  19. 打造户外找房好帮手,几款APP究竟谁能更胜一筹?
  20. element表格点击某一单元格,当前列变色,列变色

热门文章

  1. 宝宝三岁多了,整天自言自语,乱说一通怎么办?
  2. 西双版纳真的适合养老吗?
  3. 网上讨论“电商平台打败了实体店”?
  4. 什么样的领导最有魅力?
  5. Synchronized 锁升级机制
  6. 小白初次攒机配置如何选择?
  7. BeanUtils工具类
  8. mysql数据库怎么读文件_mysql数据库读写文件
  9. SQL Server – QP的另一个X射线
  10. 使用SSIS包将多个Excel文件中的数据导入SQL Server表中