3.3、列表生成器

 [n+m for m in 'abc' for n in 'ABC']

>>> import os # 导入os模块,模块的概念后面讲到
>>> [d for d in os.listdir('.')] # os.listdir可以列出文件和目录 ['.emacs.d', '.ssh', '.Trash', 'Adlm', 'Applications', 'Desktop', 'Documents', 'Downloads', 'Library', 'Movies', 'Music', 'Pictures', 'Public', 'VirtualBox VMs', 'Workspace', 'XCode']

 

k+'='+v for k,v in d.items()

 

 s.lower() for s in L

在一个列表生成式中,for前面的if ... else是表达式,而for后面的if是过滤条件,不能带else

 x if x%2==0 else -x for x in range(1,11)

x.lower() if isinstance(x,str) else x for x in rangeL1

前者表示是字符则变小写否则保持原样

后者筛选出是字符串的元素

 

猜你喜欢

转载自www.cnblogs.com/soberkkk/p/12616750.html