#原始写法
l=[]
for i in range(1,11):
l.append(str(i).zfill(2))
print(l)
#结果:['01', '02', '03', '04', '05', '06', '07', '08', '09', '10']

列表生成式,只能用在列表中

先写循环,再把循环里的i拿出来,可以做一些简单的操作(补零、转换为字符串等)

 # 列表生成式
l2=[str(i).zfill(2) for i in range(1,11)]
print(l2) #结果:['01', '02', '03', '04', '05', '06', '07', '08', '09', '10']

小练习:(创建一个文件)

 import os
# 创建文件
res=[open('%s.txt'%i,'w')for i in range(10)]
# 创建文件夹
# res=[os.mkdir(str(i))for i in range(10)]

小练习:(列表生成式,加判断)

 # 加判断写法(列表生成式只可以加判断)
res=[os.mkdir(str(i))for i in range(10) if i%2!=0] #遇到偶数创建
res=[os.mkdir(str(i))for i in range(10) if i>0] #if可以加可以不加

小练习:(生成100以内的奇数)

 l = [i for i in range(1,51,2)]#外面是[]就是一个list
print(l)
#结果:[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]

生成器

 #列表生成式
l = [i for i in range(1,11,2)]#外面是[]就是一个list
print(l)
#结果:[1, 3, 5, 7, 9]
#以空间换时间,内存占用大,但是不用再计算省cpu
#list它是把所有的元素都放在内存里面的,这里就会申请5块内存空间 #生成器()
l=(i for i in range(1,11,2))#外面是()的话,就是生成器
print(l)
10 # 结果:<generator object <genexpr> at 0x000000000266A4C0> for i in l:
print(i)
# 结果:
#
#
#
#
#
#generator生成器比list要节省内存,它是每次循环的时候,会根据规则计算一个元素,放到内存里面
#generator性能比list好一些,只申请一块内存空间,每次调用再去根据规则算

三元表达式

 #初级写法
sex=0
if sex==0:
sex='女'
else:
sex='男'
print(sex) # 三元表达式
# 高级写法
sex=0
sex= '女' if sex==0 else '男' #(满足条件取前面的 值,条件不满足取后面的 值)
print(sex)

小练习二

 a = 5
b = 6
# if a > b:
# c = a
# else:
# c = b
c = a if a > b else b #如果a大于b的话,a = c,否则 c =b
print(c)

python—列表生成式的更多相关文章

  1. Python列表生成式(入门9)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407984.html 本文出自:[Edwin博客园] Python列表生成式 1. 生成列表 L = [] ...

  2. Python 列表生成式 & 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  3. Python 列表生成式、生成器、迭代器

    列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么 ...

  4. python列表生成式

    在Python编程中,list列表应用的比较广泛,而列表生成式是一个非常强大但是使用很简单的功能. 比如要生成1到100的数组列表[1,2,3,4......,97,98,99,100],可以使用li ...

  5. python 列表生成式,生成器&迭代器

    列表生成式: 需求:要对列表 [0,1,2,3,4,5,6,7,8,9]的每个元素加1 用列表生成式一步搞定: li = [i+1 for i in range(10)] # 这种写法就叫列表生成式 ...

  6. 初学Python——列表生成式、生成器和迭代器

    一.列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: a=[1,2,3,4,5,6,7,8,9 ...

  7. 【370】Python列表生成式(for 写入一行)

    参考: python用列表生成式写嵌套循环的方法_python_脚本之家 参考: python之列表生成式 - 旷野足迹 - 博客园 对于读取Twitter数据最终会得到一个超级复杂的json文件, ...

  8. 【转】Python 列表生成式

    原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...

  9. python 列表生成式、lower()和upper()的使用

    参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196389 ...

  10. python列表生成式、键盘输入及类型转换、字符串翻转、字母大小写、数组广播、循环语句等基础问题

    Python知识总结 1.列表生成式 ​ 在实际开发过程中,当需要获取一个连续列表时,可直接使用range(3,10),但是如果获取该列表中每个数据的平方时,通常可以通过for循环来解决这个问题,如下 ...

随机推荐

  1. springboot连mysql报一个奇怪的错误

    错误提示:Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection ...

  2. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  3. 设计模式<2>------工厂模式和抽象工厂模式------创建型

    简单工厂: 拿我们的简单三层举例子 先定义dal层 class Dal { public void Delete() { } } 工厂类 class Factory { //这样掉的好处是 当dal层 ...

  4. vue富文本编辑器

    基于webpack和vue 一.npm 安装 vue-quill-editor 二.在main.js中引入 import VueQuillEditor from 'vue-quill-editor'/ ...

  5. 70.纯 CSS 创作一只徘徊的果冻怪兽

    原文地址:https://segmentfault.com/a/1190000015484852 感想:monster中边框角.上下动画.旋转动画.左右动画,眼睛中transform:scaleY(n ...

  6. core dump 配置

    引用:http://www.cnblogs.com/secondtonone1/p/5732938.html Windows环境崩溃问题可根据vs调试工具查看,Linux同样可以查看调用堆栈的信息,只 ...

  7. centos7安装svn

    摘抄自http://blog.csdn.net/junehappylove/article/details/65963025 1.安装 sudo yum install subversion 查看安装 ...

  8. app常见性能测试点

    转载自 https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318 1.响应 冷启动 首次启动APP的时间间隔 adb shell ...

  9. iOS Simulator version 11 or later is currently not supported.

    iOS Simulator version 11 or later is currently not supported.You can open Xcode > Preferences > ...

  10. HTTP 响应代码

    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成.响应分为五类:信息响应, ...