《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中非常有用的工具,掌握它可以帮助你编写更简洁、高效的代码。

相关推荐
dagouaofei14 小时前
AI生成个性化年终总结PPT
人工智能·python·powerpoint
freedom_1024_15 小时前
【c++】使用友元函数重载运算符
开发语言·c++
San30.15 小时前
深入理解 JavaScript OOP:从一个「就地编辑组件」看清封装、状态与原型链
开发语言·前端·javascript·ecmascript
郑州光合科技余经理15 小时前
基于PHP:海外版同城O2O系统多语言源码解决方案
java·开发语言·git·spring cloud·uni-app·php·uniapp
zmzb010315 小时前
C++课后习题训练记录Day43
开发语言·c++
wadesir15 小时前
C语言模块化设计入门指南(从零开始构建清晰可维护的C程序)
c语言·开发语言·算法
t1987512815 小时前
MATLAB水声信道仿真程序
开发语言·算法·matlab
white-persist16 小时前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
liliangcsdn16 小时前
python threading异步并发调用示例
python
计算机毕设匠心工作室16 小时前
【python大数据毕设实战】全面皮肤病症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql