Python小细节之代码极致简化到一行(5)(列表推导式)(技法慎用)

发布时间:2024年01月23日

引言

简单快速
大行其道
现在我又带着简化代码来了
在这里插入图片描述
我思考了下
简化的代码是技巧的体现
但是简短的代码里面
蕴藏着的是Python的精华
在这里插入图片描述
所以
我会更加详细的解析代码的内容
致力于让每个零基础的人都看懂
在这里插入图片描述

简化前

mylist = [2, 3, 5, 8, 9, 12, 13, 15]

# 正常方式
result = []
for x in mylist:
    if x % 2 == 0:  # 判断x是否为偶数,如果x除以2的余数为0,则是偶数
        result.append(x)  # 把偶数添加到新的列表result中

print(result)  # 输出结果

简化后

# 单行方式
result = [x for x in mylist if x % 2 == 0]

print(result)  # 输出结果

讲解

简化前

mylist = [2, 3, 5, 8, 9, 12, 13, 15]

# 正常方式
result = []
for x in mylist:
    if x % 2 == 0:  # 判断x是否为偶数,如果x除以2的余数为0,则是偶数
        result.append(x)  # 把偶数添加到新的列表result中

print(result)  # 输出结果

知识点解释:

  • for x in mylist:这是一个遍历列表的循环语句,对于列表中的每个元素(这里是整数),将值赋给变量x
  • if x % 2 == 0:条件判断语句,使用取模运算符 % 检查当前元素x是否能被2整除(即是否为偶数)。
  • result.append(x):如果满足条件(x是偶数),则使用append()方法把x添加到名为result的新列表中。

简化后

# 单行方式
result = [x for x in mylist if x % 2 == 0]

print(result)  # 输出结果

知识点解释:

  • [x for x in mylist if x % 2 == 0]:这是一种简洁的列表推导式表达,它在一行内完成对原列表mylist中所有元素的遍历、筛选和新列表的生成。
    • x for x in mylist:这部分负责遍历原列表mylist中的每一个元素,并将其临时赋值给x
    • if x % 2 == 0:这部分是一个过滤条件,只有当x满足这个条件(即为偶数)时,才会保留这个元素。
  • 整个表达式的结果是一个新列表,其中包含了原列表中满足条件(为偶数)的所有元素。

应用

  • 在处理大量数据时,比如从一个大列表中筛选出符合条件的数据进行统计或进一步计算。
  • 对于Python初学者,先学习for循环配合if判断的方式有助于理解基础编程逻辑,然后再过渡到使用列表推导式优化代码。
    在这里插入图片描述

结尾

两种方式都可以用,
但是列表推导式会优雅且高效
在这里插入图片描述
记住使用条件

  1. 列表
  2. 需要筛选(if函数)
    可以简化代码,尤其适合于一些建立新列表的操作
    装13 很好
    是我
    有机会我就用
    在这里插入图片描述

那么
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_39471885/article/details/135767976
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。