Python: 列表推导式(python语言)

网友投稿 430 2022-06-24


在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]了,您感兴趣的话可以自己试试看。或者我们有一个新的列表,列表里面充满了人的名字,我们需要找到长度大于三的人名,并同时将长度大于三的人名首字母大写,最后再重新得到一个新的列表,代码改如何书写呢?代码的书写方法如下所示,首先创建列表:

1

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

书写列表推倒式:

1

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

得到:

1

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:分类与监督学习,朴素贝叶斯分类算法(举例说明朴素贝叶斯分类算法的应用)
下一篇:Python : 将字符串拆分为单个字母所组成的列表并合并单个字母(python的析构方法是)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~