python列表推导式给变量_Python: 列表推导式

在Python语言当中,一个很神奇的特性则是列表推到式了,它能够从一个列表里面筛选出你满意的部分,并重新组成一个列表,甚至可以对筛选的列表的内容进行修改

比如说我们有一维列表:

list=[1,3,5,6,2,34,7,3,5,8]

我们想把其中大于10数字抽取出来,并重新通过append()方法生成一个大于数字10的列表,因此书写列表推倒式:

[num for num in list if num>10]

得到:

[34]

可见,34是在这个list当中最大的数字。同时重新组成一个新的列表,那么列表推倒式的通常写法则是这样的:

[表达式或变量 for 变量 in list if语句]

第一个是我们的表达式或者变量,表示使用append方法重新进入新列表的变量是什么,需要和for右边的变量有一定的关联,不然这个变量是没有申明过的话是会报错的。也可以将符合条件的变量做了一定修改之后再放到第一个表达式或者变量的地方,append进入新的列表。比如说我们想要list当中大于10的数字,同时让这个数字加一,我们该如何书写这个列表推倒式呢?:

[num+1 for num in list if num>10]

也就是将append到新列表当中的每一个数字num+1再写入列表推倒式当中,最后得到的结果也很显然是[35]了,您感兴趣的话可以自己试试看。或者我们有一个新的列表,列表里面充满了人的名字,我们需要找到长度大于三的人名,并同时将长度大于三的人名首字母大写,最后再重新得到一个新的列表,代码改如何书写呢?代码的书写方法如下所示,首先创建列表:

list=["bob","mike","kelly","ao li gei"]

书写列表推倒式:

[name.capitalize() for name in list if len(name)>3]

得到:

['Mike', 'Kelly', 'Ao li gei']

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值