5.6Python之列表推导式

列表推导式(List comprehensions) 是一种简洁的语法,用于创建新的列表,并可以在创建过程中对元素进行转换、筛选或组合操作

列表推导式的一般形式为:

python 复制代码
new_list = [expression for item in iterable if condition]

其中:

  • expression 是要应用于每个元素的表达式或操作。
  • **item**是来自可迭代对象(如列表、元组或字符串)的每个元素。
  • **iterable**是可迭代对象,提供要遍历的元素。
  • **condition**是一个可选的条件,用于筛选出满足条件的元素。

以下是列表推导式的使用案例:

案例一,创建一个包含1到5的平方的列表:

python 复制代码
squares = [x**2 for x in range(1, 6)]
print(squares)  

# [1, 4, 9, 16, 25]

案例二,筛选出长度大于等于5的字符串:

python 复制代码
words = ["apple", "banana", "cherry", "date", "elderberry"]
filtered_words = [word for word in words if len(word) >= 5]
print(filtered_words)  

# ["apple", "banana", "cherry"]

案例三,将两个列表中的元素进行组合:

python 复制代码
numbers = [1, 2, 3]
letters = ['A', 'B', 'C']
combined = [(number, letter) for number in numbers for letter in letters]
print(combined)  

# [(1, 'A'), (1, 'B'), (1, 'C'), (2, 'A'), (2, 'B'), (2, 'C'), (3, 'A'), (3, 'B'), (3, 'C')]
相关推荐
知行合一。。。1 分钟前
Python--03--函数入门
android·数据库·python
朝九晚五ฺ3 分钟前
从零到实战:鲲鹏平台 HPC 技术栈与并行计算
java·开发语言
CUIYD_19895 分钟前
Freemarker 无法转译 & 字符
java·开发语言·spring
superman超哥13 分钟前
Rust Vec的内存布局与扩容策略:动态数组的高效实现
开发语言·后端·rust·动态数组·内存布局·rust vec·扩容策略
Evand J15 分钟前
【MATLAB例程,附代码下载链接】基于累积概率的三维轨迹,概率计算与定位,由轨迹匹配和滤波带来高精度位置,带测试结果演示
开发语言·算法·matlab·csdn·轨迹匹配·候选轨迹·完整代码
Yuiiii__17 分钟前
一次并不简单的 Spring 循环依赖排查
java·开发语言·数据库
-曾牛17 分钟前
Yak语言核心基础:语句、变量与表达式详解
数据库·python·网络安全·golang·渗透测试·安全开发·yak
野槐18 分钟前
java基础-面向对象
java·开发语言
遇见~未来31 分钟前
JavaScript构造函数与Class终极指南
开发语言·javascript·原型模式
数据大魔方34 分钟前
【期货量化实战】跨期套利策略:价差交易完整指南(TqSdk源码详解)
数据库·python·算法·github·程序员创富