列表推导式

列表推导式

1.定义:
使用简易方法,将可迭代对象转换为列表。
2.语法:
变量 = [表达式 for 变量 in 可迭代对象]
变量 = [表达式 for 变量 in 可迭代对象 if 条件]
3.说明:
如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。

"""
列表推导式
练习:exercise01.py
"""
# 将list01中所有元素,增加1以后存入list02中.
list01 = [5, 56, 6, 7, 7, 8, 19]
# list02 = []
# for item in list01:
# list02.append(item + 1)
list02 = [item + 1 for item in list01]
print(list02)
# 将list01中大于10元素,增加1以后存入list02中.
# list02 = []
# for item in list01:
# if item >10:
# list02.append(item + 1)
list02 = [item + 1 for item in list01 if item > 10]

列表推导式嵌套

对于列表推导式的嵌套,就是循环的嵌套直接平铺的写法,这个场景还有点不好理解,不过非常高效。

语法:

变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in可迭代对象2]

传统写法:

result = []
for r in ["a", "b", "c"]:
for c in ["A", "B", "C"]:
result.append(r + c)

推导式写法:

result = [r + c for r in list01 for c in list02]

综合对比效果

result = []
for r in ["a", "b", "c"]:
for c in ["A", "B", "C"]:
result.append(r + c)
print(result)
print([r + c for r in ["a", "b", "c"] for c in ["A", "B", "C"]])

OUTPUT:

['aA', 'aB', 'aC', 'bA', 'bB', 'bC', 'cA', 'cB', 'cC']
['aA', 'aB', 'aC', 'bA', 'bB', 'bC', 'cA', 'cB', 'cC']
posted @   babyfengfjx  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示