python—列表生成式
#原始写法
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—列表生成式的更多相关文章
- Python列表生成式(入门9)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407984.html 本文出自:[Edwin博客园] Python列表生成式 1. 生成列表 L = [] ...
- Python 列表生成式 & 字典生成式
Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...
- Python 列表生成式、生成器、迭代器
列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么 ...
- python列表生成式
在Python编程中,list列表应用的比较广泛,而列表生成式是一个非常强大但是使用很简单的功能. 比如要生成1到100的数组列表[1,2,3,4......,97,98,99,100],可以使用li ...
- python 列表生成式,生成器&迭代器
列表生成式: 需求:要对列表 [0,1,2,3,4,5,6,7,8,9]的每个元素加1 用列表生成式一步搞定: li = [i+1 for i in range(10)] # 这种写法就叫列表生成式 ...
- 初学Python——列表生成式、生成器和迭代器
一.列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: a=[1,2,3,4,5,6,7,8,9 ...
- 【370】Python列表生成式(for 写入一行)
参考: python用列表生成式写嵌套循环的方法_python_脚本之家 参考: python之列表生成式 - 旷野足迹 - 博客园 对于读取Twitter数据最终会得到一个超级复杂的json文件, ...
- 【转】Python 列表生成式
原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...
- python 列表生成式、lower()和upper()的使用
参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196389 ...
- python列表生成式、键盘输入及类型转换、字符串翻转、字母大小写、数组广播、循环语句等基础问题
Python知识总结 1.列表生成式 在实际开发过程中,当需要获取一个连续列表时,可直接使用range(3,10),但是如果获取该列表中每个数据的平方时,通常可以通过for循环来解决这个问题,如下 ...
随机推荐
- cefsharp插入自定义JS
string script_1 = "document.getElementsByTagName('head')[0].appendChild(document.createEleme ...
- 淘宝App直播宝贝数据采集
淘宝App直播宝贝数据采集 前段时间,有人问我关于淘宝app直播频道宝贝如何采集?我尝试了下可以获取的到,模拟器登录不了淘宝,这里有一个坑就是,模拟器有时候会跳到登录页面,登录不了淘宝: 一.用A ...
- python,字符串方法
1.capitalize() 首字母大写 text = "hello word" text2 = text.capitalize() print(text2) 2.1.casefo ...
- 性能测试过程中oracle数据库报ORA-27301 ORA-27302错
最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错.在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$sessi ...
- 自制按钮图标的两种方法: image sprite和svg字体文件
用image sprite和svg字体文件这两种方法,都能够极大地减少小图形文件的数量, 从而减少服务器请求和带宽需求.提高网页的响应速度. 一.建立SVG字体文件 iconmoon 是一个在线工具, ...
- oracle锁表+解锁
一.锁表: LOCK TABLE tablename IN EXCLUSIVE MODE; 二.解锁 * 1.首先用dba账户登录数据库 * * 2.查出被锁定的对象 * select * from ...
- tp5邮件发送
一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例) 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/IM ...
- 如何用Fiddler手机抓包
截获智能手机发出的HTTP包有什么用? 用处一: 手机软件程序员利用Fiddler,可以截获手机发出的HTTP包, 从而调试程序: 用处二: 软件测试人员用于测试智能手机上的软件: 用处三: 可以用来 ...
- Golang 包管理简介
Golang 包管理 在一个项目里,如果想引用本地包,经常会把新手搞的莫名其妙.这里通俗记录一下. 首先先要知道几个默认的规则 必须定义环境变量GOPATH,GOPATH可以定义多个目录 所有项目代码 ...
- 彻底搞懂Scrapy的中间件(三)
在前面两篇文章介绍了下载器中间件的使用,这篇文章将会介绍爬虫中间件(Spider Middleware)的使用. 爬虫中间件 爬虫中间件的用法与下载器中间件非常相似,只是它们的作用对象不同.下载器中间 ...