题目详情:
names=[['Tom','Billy','Jefferson','Andrew','Wesley','Steven','Joe'], ['Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']] 起初我对列表推导式不太熟悉,采用for循环的方式做滴
# 任务:给定一个列表,使用列表推导式找出列表中人名长度大于 5 的名字构成新列表,并打印该列表
names=[['Tom','Billy','Jefferson','Andrew','Wesley','Steven','Joe'],
['Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']]
names2=[] //设置一个空列表
for i in names: //采用for 循环嵌套
for j in i:
if len(j) > 5:
names2.append(j)
print(names2)
运行结果如下图所示
改进后:采用列表推导式简化代码
# 任务:给定一个列表,使用列表推导式找出列表中人名长度大于 5 的名字构成新列表,并打印该列表
~~~省略的如上上图示
names2 = [j for i in names for j in i if len(j)>5 ] //采用列表推导式
print(names2)
运行结果与上图一致!!
老师讲这个东西(列表推导式) 简单的可以用它来简化代码
复杂的就不能用咯~ 以后见到它知道是什么意思就是OK咯!