内容来自雪峰的官方网站。

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的更多相关文章

随机推荐

  1. NUC970设备驱动

    安装完WinUSB4NuVCOM_NUC970.exe后      USB0要配置成DEVICE 才可以在设备管理器中显示.

  2. lnmp启动脚本

    #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH # Ch ...

  3. iOS中UIImage转换为NSData 方法

    参考网址:http://blog.csdn.net/lovenjoe/article/details/7484217 天牛 感谢作者的硕果 在Iphone上有两种读取图片数据的简单方法: UIImag ...

  4. /usr/local/java/jdk1.8.0_11

  5. shell 强大的awk

    from here 小用法,使用awk来对文件随机抽取n行 awk 'BEGIN{srand()} {print rand()"\t"$0}' input_file | sort ...

  6. Android ImageResizer:inSampleSize

    import android.annotation.TargetApi; import android.content.Context; import android.content.res.Reso ...

  7. 运行npm install出现警告

    如下: 解决: fsevent是mac osx系统的,你是在win或者Linux下使用了 所以会有警告,忽略即可

  8. webpack.optimize.CommonsChunkPlugin

    打包第三方控件:比如jquery,angular,bootstrap.... const CommonsChunkPlugin = require("webpack/lib/optimize ...

  9. HFS的远程命令执行漏洞(RCE)

    一.HFS漏洞 1.影响版本 : 2.3c以前的2.3x版本 2.HFS: HFS是HTTP File Server,国外的一款HTTP 文件服务器软件,简单易上手. 3.漏洞描述: HTTP Fil ...

  10. 破谣言——iPhone砍价

    微信朋友圈和QQ空间很多朋友在传一个iPhone砍价免费送的活动.好吧,砍页面下面的那邪恶广告,第一感觉就是假的.但我要给出证明,所以就有了下面的代码.[只需把UID换成自己的就行],当你砍到5分钱的 ...