列表推导式
列表推导式的知识点:
1.列表推导式就是利用其他列表创建新的列表。
2.支持if条件判断
3.可以使用多个for
列表推导式是利用其他列表创立新的列表,它的工作方式类似于for循环。
就像这样:
>>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
for循环是这样:
for m in range(10): print(m**2)
列表表推导式还支持if判断:
>>> [x*x for x in range(10) if x%3 == 0] [0, 9, 36, 81]
列表推导式可以支持多个for语句:
>>> [(x,y)for x in range(3)for y in ['kebi','maoxian','xiaoniao']] [(0, 'kebi'), (0, 'maoxian'), (0, 'xiaoniao'), (1, 'kebi'), (1, 'maoxian'), (1, 'xiaoniao'), (2, 'kebi'), (2, 'maoxian'), (2, 'xiaoniao')]
相对于for循环是这样:
result = [] name = ['kebi','maoxian','xiaoniao'] for x in range(3): for y in name: print((x,y))
有个不错的例子:有两个新的列表,要求把首字母相同的元素放在一起创建一个新的列表。
就像下面这样:
>>> girls = ['alice','bernice','clarice'] >>> boys = ['chris','arnold','bob'] >>> [b+'+'+g for b in girls for g in boys if b[0] == g[0]] ['alice+arnold', 'bernice+bob', 'clarice+chris']
在列表里面写条件就是列表推导式,在元祖里面会怎样了?
>>> (x*y for x in [1,2,3] for y in (4,5,6)) <generator object <genexpr> at 0x7f254bae0d00> :返回的是一个可迭代的对象。 >>> for i in (x*y for x in [1,2,3] for y in (4,5,6)): ... print(i) ... 4 5 6 8 10 12 12 15 18
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理