列表解析式
列表是python最基本、最常用的数据结构,以至于python提供了一种用于创建列表的特殊表示法,即列表解析式;
- 列表解析(简化for 循环,快速创建列表)
例子:快速创建等差为1的等差数列列表[1, 2, 3, 4, 5]
a. 使用列表解析式:
lst=[i for i in range(1,6)]
b. 老方法:(缺点:占行数太多,代码长)
lst=[]
for i in range(1,6):
lst.append(i)
Out[]: lst=[1, 2, 3, 4, 5]
使用列表解析后,一行可以代替原来三行代码,代码整齐,优美!
2. 筛选型列表解析(简化for 循环,增加if条件判断)
例子:从所有成绩中筛选出及格分数(>=60),构成一个及格分数列表
a. 使用列表解析式:
scores=[10,20,90,85,35,100]
goodscores=[i for i in scores if i>=60]
b. 老方法:(缺点:占行数太多,代码长)
goodscores=[] #>=60分的成绩
scores=[10,20,90,85,35,100] #所有成绩
for i in scores:
if i>=60:
goodscores.append(i)
Out[1]: [90, 85, 100]
总结来看,在python中操作列表(list)时切勿忘了列表解析式这个法宝,可以大大简化代码行数,保证准确性的同时提升代码美观度!