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

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

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

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

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

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

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

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

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

  1. l = [i for i in range(1,51,2)]#外面是[]就是一个list
  2. print(l)
  1. #结果:[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]

生成器

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

三元表达式

  1. #初级写法
  2. sex=0
  3. if sex==0:
  4. sex='女'
  5. else:
  6. sex='男'
  7. print(sex)
  8.  
  9. # 三元表达式
  10. # 高级写法
  11. sex=0
  12. sex= '女' if sex==0 else '男' #(满足条件取前面的 值,条件不满足取后面的 值)
  13. print(sex)

小练习二

  1. a = 5
  2. b = 6
  3. # if a > b:
  4. # c = a
  5. # else:
  6. # c = b
  7. c = a if a > b else b #如果a大于b的话,a = c,否则 c =b
  8. 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. Anaconda安装及配置

    简介 Anaconda(官方网站)指的是一个开源的Python发行版本,可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本.Anaconda包含了conda.Python在内的超过18 ...

  2. Linux常用的命令以及配置

    cat /etc/group nobody:x:500:用户组 : 口令 : 用户组编号 #查看用户信息 stunnel4:x:118:123::/var/run/stunnel4:/usr/sbin ...

  3. selenium测瀑布流UI页面的Python代码

    from  selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdri ...

  4. gradle指定相应JDK编译

    转载请注明出处: http://blog.csdn.net/sanyinchen/article/details/50901582 问题描述: 电脑中装有多个jdk版本,可能默认的jdk是1.6,但是 ...

  5. 用ASP.NET_Regsql.exe创建Session数据库

    CMD: C:\Users\ZhangSC>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe -S ZhangS ...

  6. Python2--Pytest_html测试报告优化(解决中文输出问题)

    1.报告的输出: pytest.main(["-s","Auto_test.py","--html=Result_test.html"]) ...

  7. orcal -对表的操作

    设计表 varchar2(n) number(n,m)整数:n-m,小数m DATE 日期 CLOB 大文本 BLOB二进制 创建表=============== create table membe ...

  8. python3百度设置高级搜索例子

    #=======================================#作者:邓沛友#2018.12.16=============================coding:utf-8f ...

  9. Python中的split()函数的用法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(lis ...

  10. Android Jetpack 组建介绍(一)——Lifecycler

    转自带你领略Android Jetpack组件的魅力 Android Jetpack 对于任何一个产品来说,我们开发中都会面对哪些问题?如:产品交互.用户体验.代码结构.数据获取.数据存储.网络优化. ...