《Python基础》之列表推导式(列表生成式)

目录

简介

用法

1、基本列表推导式

结果如下

2、待条件的列表推导式

结果如下

3、嵌套列表推导式

结果如下

4、使用函数

结果如下

[5、 处理字符串](#5、 处理字符串)

结果如下

总结

优点

注意事项


简介

列表推导式(List Comprehension)是Python中一种简洁且强大的语法,用于创建列表。它允许你在一行代码中生成一个新的列表,通常基于现有的列表或其他可迭代对象。列表推导式的基本结构如下:

python 复制代码
[expression for item in iterable if condition]
  • expression :对**item**进行操作的表达式。

  • item :从**iterable**中取出的元素。

  • iterable:可迭代对象(如列表、元组、字符串等)。

  • if condition :可选的条件,只有满足条件的**item**才会被包含在新列表中。

用法

1、基本列表推导式

生成一个包含1到10的平方数的列表

python 复制代码
list1 = [x**2 for x in range(1,11)]
print(list1)
结果如下

2、待条件的列表推导式

生成一个包含1到10中偶数的平方的列表

python 复制代码
list2 = [x**2 for x in range(1,11) if x%2==0]
print(list2)
结果如下

3、嵌套列表推导式

将以下列表拆分成含单个元素的列表

list3 = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]

python 复制代码
list3 = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
list4 = [j for i in list3 for j in i]
print(list4)
结果如下

4、使用函数

生成一个包含1到10的平方数的列表,但使用函数来计算平方

python 复制代码
def square(x):
    return x**2

squares = [square(x) for x in range(1, 11)]
print(squares)  
结果如下

5、 处理字符串

生成一个包含字符串中所有大写字母的列表

python 复制代码
string = "Hello World"
uppercase_letters = [char for char in string if char.isupper()]
print(uppercase_letters)  
结果如下

总结

优点

  • 简洁:列表推导式可以用一行代码完成复杂的列表生成任务。

  • 高效 :通常比使用for循环和append方法更快。

  • 可读性:在适当的情况下,列表推导式可以提高代码的可读性。

注意事项

  • 避免过度复杂 :如果列表推导式变得过于复杂,可能会影响代码的可读性。在这种情况下,使用传统的for循环可能更为合适。

  • 嵌套列表推导式:嵌套的列表推导式可以处理更复杂的情况,但同样需要注意可读性。

列表推导式是Python中非常有用的工具,掌握它可以帮助你编写更简洁、高效的代码。

相关推荐
嵌入式×边缘AI:打怪升级日志几秒前
Libmodbus 源码总体分析:框架、数据结构与核心函数详解
开发语言·数据结构·php
2401_832402752 分钟前
使用Scikit-learn构建你的第一个机器学习模型
jvm·数据库·python
Y_032 分钟前
浅谈Java虚拟机JVM
java·开发语言·jvm
我命由我123453 分钟前
JUnit - 自定义 Rule
android·java·开发语言·数据库·junit·java-ee·android-studio
天天进步20153 分钟前
Python全栈项目--基于机器学习的垃圾邮件过滤系统
python
YiWait3 分钟前
机器学习导论习题解答
人工智能·python·算法
电商API&Tina4 分钟前
【电商API】淘宝/天猫拍立淘(按图搜索商品)API 全解析
大数据·开发语言·数据库·人工智能·json·图搜索算法
m0_706653235 分钟前
自动化与脚本
jvm·数据库·python
XerCis6 分钟前
Python读取硬盘信息pySMART——调用smartctl
开发语言·python·硬件架构
流㶡6 分钟前
scikit-learn之KNN算法实战鸢尾花分类
python·算法·scikit-learn·knn