Python学习笔记之列表推导式实例分析
本文实例讲述了Python学习笔记之列表推导式。分享给大家供大家参考,具体如下:
列表推导式
列表推导式可以快速简练地创建列表
之前的复杂写法:
capitalized_cities=[] forcityincities: capitalized_cities.append(city.title())
简化后的写法:
capitalized_cities=[city.title()forcityincities]
由此可见:借助列表推导式,我们可以使用for循环用一步创建一个列表。
列表推导式中的条件语句:
可以向列表推导式添加条件语句:
squares=[x**2forxinrange(9)ifx%2==0]
如果你要添加else,则需要将条件语句移到列表推导式的开头,直接放在表达式后面,如下:
squares=[x**2ifx%2==0elsex+3forxinrange(9)]
注意:列表推导式并没有在其他语言中出现,但是在python中很常见。
列表推导式[相关练习]
使用列表推导式创建新的列表first_names,其中仅包含names中的名字(小写形式)。
names=["RickSanchez","MortySmith","SummerSmith","JerrySmith","BethSmith"] first_names=[name.split('')[0].lower()fornameinnames] print(first_names)#['rick','morty','summer','jerry','beth']
使用列表推导式创建一个列表multiples_3,其中包含1-20这20个整数的3的倍数。
multiples_3=[3*numfornuminrange(1,21)] print(multiples_3)#[3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60]
使用列表推导式创建一个passed的姓名列表,其中仅包含得分至少为65分的名字。
scores={ "RickSanchez":70, "MortySmith":35, "SummerSmith":82, "JerrySmith":23, "BethSmith":98 } passed=[nameforname,scoreinscores.items()ifscore>=65] print(passed)#['RickSanchez','BethSmith','SummerSmith']
更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。