标签:25 10 Python 生成 range Out 表达式 巧用
Python资源共享群:626017123
在 Python 中使用生成表达式,有以下三点好处:
1. 提高代码运行速度
2. 简化代码,使代码显得更精炼
3. (重点)是你的代码看上去像“高手”所做
举例来说,如果我们想生成一个0~9数字的平方的列表,一种做法可能是这样的:
1l = [] 2for i in range(10): 3 l.append(i**2)
而如果使用生成表达式的话就只需要一行代码:
In [24]: l = [i**2 for i in range(10)] In [25]: l Out[25]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
是不是很酷(装)炫(B)?
生成表达式也可以用来生成字典:
In [26]: {i:i**2 for i in range(10)} Out[26]: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
在生成表达式中还可以使用条件判断。比如,我们想生成0~9中偶数的平方的列表:
In [27]: [i**2 for i in range(10) if i % 2 == 0] Out[27]: [0, 4, 16, 36, 64]
还可以在生成表达式中使用两个变量:
In [28]: [i*j for i in range(3) for j in range(3)]Out[28]: [0, 0, 0, 0, 1, 2, 0, 2, 4]
下面我们来看个小案例,以下代码使用生成表达式来生成一副扑克牌。
1poker_color = ['黑桃','红桃','方块','梅花'] 2poker_num = [str(i) for i in range(2,11)] + ['J','Q','K','A'] 3pokers = [c + n for c in poker_color for n in poker_num] + ['大王','小王']
标签:25,10,Python,生成,range,Out,表达式,巧用 来源: https://blog.csdn.net/Pythoncxy/article/details/100052779
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。