Python 列表生成式
列表生成式是一种基于其他 iterable(如集合、元组、其他列表等)创建列表的方法。它还可以用更简单、更吸引人的语法表示 for 和 if 循环
语法格式如:list = [expression for iterm in iterable (if conditional)]
- (if conditional) 中的 if 语句可有可无,但是前面的 expression 和 for 循环表达式必须存在
- 注意细节
- for 循环末尾的表达式放在列表的开头
1、实例如下:
words = ['data','science','machine','learning'] # 计算出 words 列表中每个字符串的长度 a = [] for word in words: a.append(len(word)) print(a) # 列表生成式做法 b = [len(word) for word in words] print(b) # 结果如下 [4, 7, 7, 8] [4, 7, 7, 8]
2、列表生成式中带有 if 语句实例如下:
words = ['data', 'science', 'machine', 'learning'] # 取出 words 列表中长度大于5的字符串长度 a = [] for word in words: if len(word) > 5: a.append(word) print(a) # 列表生成式做法 b = [word for word in words if len(word) > 5] print(b) # 结果如下 ['science', 'machine', 'learning'] ['science', 'machine', 'learning']
- 在列表生成式中带有多个 for 循环,表示 for 循环嵌套
words = ['data', 'science', 'machine', 'learning'] # 找出列表中所有字符串中的所有元音字母 a = [] for word in words: for letter in word: if letter in ["a","e","i","o","u"]: a.append(letter) print(a) # 列表生成式做法 b = [letter for word in words for letter in word if letter in ["a","e","i","o","u"]] print(b)
words = ['data', 'science', 'machine', 'learning'] # 找出列表中所有字符串中的所有元音字母,并将所有的元音字母进行大写 b = [letter.upper() for word in words for letter in word if letter in ["a","e","i","o","u"]] print(b) # 结果如下 ['A', 'A', 'I', 'E', 'E', 'A', 'I', 'E', 'E', 'A', 'I']
words = ['data', 'science', 'machine', 'learning'] # 找出 machine 中 c 的索引值 li = [] for word in words: if word == "machine": for letter in word: if letter == "c": li.append(word.index(letter)) print(li) # 列表生成式做法 a = [word.index(letter) for word in words if word == "machine" for letter in word if letter == "c"] print(a) # 结果如下 [2] [2]
- 在列表生成式中传入调用函数
def func(x): return x * 2 s = [func(a) for a in range(5)] print(s) # 结果如下: [0, 2, 4, 6, 8]
作者:一个老宅男
微信:ZhengYing8887
出处:https://www.cnblogs.com/ZhengYing0813/
备注:本文版权归作者所有,欢迎转载和添加作者微信探讨技术,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2019-10-31 python(random 模块)