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的更多相关文章
随机推荐
- 利用html实现类似于word自动生成的目录的效果
在word中的自动生成目录当中,我们会看到是这样的目录结构: 嗯,自动生成固然是简单,但是在html当中,却没有一个合适的标签来去做.今天后台导出PDF的时候告诉我,他需要用html做一个这样的结构, ...
- 简明 Vim 教程
学习 vim 并且其会成为你最后一个使用的文本编辑器.没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用. 我建议下面这四个步骤: 存活 感觉良好 觉得更好,更强,更快 使用VIM的超能力 ...
- 使用servlet3.0提供的API来进行文件的上传操作
servlet 3.0针对文件上传做了一些优化,提供了一些更加人性化的API可以直接在request中的到文件的名称.文件size,MIME类型,以及用InputStream表示的文件流的信息 @Re ...
- 【BZOJ4545】DQS的trie 后缀自动机+LCT
[BZOJ4545]DQS的trie Description DQS的自家阳台上种着一棵颗粒饱满.颜色纯正的trie. DQS的trie非常的奇特,它初始有n0个节点,n0-1条边,每条边上有一个字符 ...
- ios ASIHTTPRequest类库简介和使用说明
官方网站: http://allseeing-i.com/ASIHTTPRequest/ .可以从上面下载到最新源码,以及获取到相关的资料. 使用iOS SDK中的HTTP网络请求API,相当的复杂, ...
- js调试模式怎么看变量是在哪里定义的?
1. 2.
- Scala 泛型类型和方法
abstract class Stack[A] { def push(x: A): Stack[A] = new NonEmptyStack[A](x, this) def isEmpty: Bool ...
- SQL---->mySQl数据库1------数据库的增删改查备份恢复
1.在终端输入:mysql -uroot -p 然后输入密码,进入客户端 2.输入:\s 3.创建数据库 3.1创建字符集是utf-8的数据库 3.2创建带校验规则的数据库,校验规则可以在a ...
- AttributeError: 'module' object has no attribute 'face'
报错 raceback (most recent call last): File "D:/work/python/face_ai/predict.py", line 41, in ...
- The Rise of Database Sharding DATABASE SHARDING
w玻璃碎片.0共享 http://www.agildata.com/database-sharding/ The Rise of Database Sharding The concept of Da ...