首页 > 其他 > 详细

列表生成式

时间:2020-06-25 18:38:35      阅读:79      评论:0      收藏:0      [点我收藏+]

一种简洁的列表创建的方法,首先介绍下它的语法规则,exp 或者 condition 都是根据参数名来传递元素的:

[exp for x in iterable]                          # 每个 iterable 中的数据都做 exp 处理,处理结果生成列表
[exp for x in iterable_A for y in iterable_B]    # 每迭代 iterable_A 中的一个元素,就把 ierable_B 中的所有元素都迭代一遍
[exp for x in iterable if condition]             # 当 iterable 中的数据满足 if 条件时,做 exp 处理,处理结果生成列表
[exp1 if condition else exp2 for x in iterable]  # 当 iterable 中的数据满足 if 条件时,做 exp1 处理,否则做 exp2 处理,处理结果生成列表

接下来举几个例子:

a = [x * x for x in range(1, 11)]                    # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
b = [x * x for x in range(1, 11) if x % 2 == 0]      # [4, 16, 36, 64, 100]
c = [m + n for m in ‘ABC‘ for n in ‘XYZ‘]            # [‘AX‘, ‘AY‘, ‘AZ‘, ‘BX‘, ‘BY‘, ‘BZ‘, ‘CX‘, ‘CY‘, ‘CZ‘]
d = [x if x % 2 == 0 else -x for x in range(1, 11)]  # [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10]

e = {‘x‘: ‘A‘, ‘y‘: ‘B‘, ‘z‘: ‘C‘ }
f = [k + ‘=‘ + v for k, v in e.items()]              # [‘y=B‘, ‘x=A‘, ‘z=C‘]      

  

列表生成式

原文:https://www.cnblogs.com/yanghh/p/13192246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!