pyDay8
内容来自廖雪峰的官方网站。
List Comprehensions
1
>>> list(range(1, 3))
[1, 2]
2
>>> L = []
>>> for x in range(1 , 3):
... L.append(x * x)
...
>>> L
[1, 4]
3
>>> L = [1, 2, 3]
>>> L
[1, 2, 3]
>>> L = [x * x for x in range(1 , 4)]
>>> L
[1, 4, 9]
4
>>> L = [x for x in range(1 , 100) if x % 2 == 0]
>>> L
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
5
>>> [m + n for m in 'abc' for n in 'xyz']
['ax', 'ay', 'az', 'bx', 'by', 'bz', 'cx', 'cy', 'cz']
运用列表生成式,可以写出非常简洁的代码。
应用举例
1、列出当前目录下的所有文件:
>>> import os
>>> [f for f in os.listdir('.')]
['a.exe', 'prog1.cpp', 'prog1.exe', 'Sales_data.h', 'test.py', 'test.py.bak', '__pycache__', '新建文件夹']
2、将dict转化为list:
>>> d = {'lucy': 7, 'migo': 6, 'jack': 22}
>>> [x + '=' + str(y) for x,y in d.items()]
['migo=6', 'lucy=7', 'jack=22']
3、把一个list中所有的字符串变成小写:
>>> L = ['migo', 'lucy', 'jack']
>>> [s.upper() for s in L]
['MIGO', 'LUCY', 'JACK']
4、如果list中既包含字符串,又包含整数:
>>> L
['migo', 'lucy', 'jack', 19]
>>> [s.upper() for s in L if isinstance(s, str)]
['MIGO', 'LUCY', 'JACK']
pyDay8的更多相关文章
随机推荐
- 什么是“类数组对象”,在jquer中怎样将类数组对象转换为数组对象
类数组对象的定义: 所谓"类数组对象"就是一个常规的Object对象,如$("div")但它和数组对象非常相似:具备length属性, 并以0.1.2.3……等 ...
- 定义了一个UIImageView如何使加载的图片不会失真 UIImageView的Frame值是固定的
定义了一个UIImageView如何使加载的图片不会失真 UIImageView的Frame值是固定的 UIViewContentModeScaleToFill, 缩放内容到合适比例大小 UIVie ...
- 当新增页面和编辑页面使用同一jsp时
<c:if test="${type eq '1'}"><title>新增页面</title></c:if> <c:if te ...
- CSDN专栏收集
Android集 1.Himi李华明的<Android游戏开发专栏>http://blog.csdn.net/column/details/androidgame.html2.老罗的&l ...
- JS-元素大小深入学习-offset、client、scroll等学习研究笔记
一些属性和方法,在dom中没有规定如何确定页面中元素大小的情况下诞生... 1.偏移量(offset dimension) 测试代码: <!DOCTYPE html> <html&g ...
- Centos7 安装zabbix3.0 服务端 详细
参考: https://www.cnblogs.com/37yan/p/6879218.html http://blog.csdn.net/hao134838/article/details/5712 ...
- 3149: [Ctsc2013]复原
3149: [Ctsc2013]复原 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 95 Solved: 44[ ...
- Jenkins升级、迁移、备份
1.升级 下载新版Jenkins.war文件,替换旧版本war文件,重启即可. Jenkins.war文件的位置一般为/usr/lib/jenkins/Jenkins.war. 2.迁移.备份 Jen ...
- Oracle数据库类型date
date日期类型 说明 oracle dd-mm-yyyy create table test1(birthday date); timestamp(n) 说明:邮戳的时间类型 于date的区别,邮戳 ...
- 不走标准路的微软:少一个斜杠的URI Path
今天又被微软不按标准的做法折腾了一下,写篇博文抱怨一下. 我们先来看一下IETF(Internet Engineering Task Force)对URI结构的标准定义(链接): 注意上面的path部 ...