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

相关推荐
牛大兵几秒前
播放网络摄像头视频支持ONVIF/RTSP
网络·python·音视频
wuyoula10 分钟前
全新多平台电商代付商城源码
开发语言·c++·ui·小程序·php源码
玖疯子11 分钟前
IT疑难杂症诊疗室:系统性故障排查指南
开发语言·php
码云数智-大飞12 分钟前
OpCache 原理深挖:从字节码缓存到预加载(Preloading)的实战配置
java·开发语言
m0_4954964117 分钟前
SQL中如何获取前N个最大值并排除自己_利用窗口函数限制
jvm·数据库·python
m0_7406532217 分钟前
mysql如何提取日期中的年份_使用year函数从日期中截取
jvm·数据库·python
运气好好的27 分钟前
mysql数据库日志文件过大如何清理_定期备份与重置日志文件
jvm·数据库·python
ATMQuant33 分钟前
量化策略开发01:我让AI全权做交易决策 - 从提示词设计到决策执行
python·量化交易·vnpy·ai策略
站大爷IP33 分钟前
如何在 Python 中使用 colorama 库来给输出添加颜色
python