python之列表推导式

列表推导式允许过滤一个容器的元素,用一种简明的表达式转换传递给过滤器的元素,从而生成一个新的列表。其基本形式为:newlist = [Expression for var in list if condition]
参数:
newlist:生成新列表的名称
Expression:用于计算新列表的表达式
var:变量,值为后面列表的每个元素
list:指的是生成新列表的原列表
condition:条件表达式,用用于指定筛选条件

示例:
从如下列表中选出年龄大于30岁的值,常用写法如下

age =  [8,15,31,3,21,44,19,58]
new_age = []
for x in age:
    if x > 90:
        new_age.append(x)

但使用列表推导式则写法如下:

age =  [8,15,31,3,21,44,19,58]
new_age =[x for x in score if x > 30]

下面讲述嵌套列表推导式,如下为一系列姓名,需挑选出其中含有2个字母e以上的名字

all_data = [['john','emily','michael','mary','steven','maria','juan','javier','natalia','pliar']]

常见方法为:

names_of_interest=[]
for names in all_data:
    enough_es = [name for name in names if name.count('e') >= 2]
    names_of_interest.extend(enough_es)

使用嵌套列表推导式则可写为:

result = [name for names in all_data for name in names if name.count('e') >= 2]

for循环部分根据嵌套的顺序排列,过滤条件放在最后。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值