介绍
此 PEP 描述了 Python 的拟议语法扩展,列表 理解。
建议的解决方案
建议允许使用 for 和 if 子句。它们将以相同的方式嵌套循环和 if 语句嵌套 现在
理由
列表推导提供了一种更简洁的方式来创建各种情况下的列表 其中 和 和/或嵌套循环当前将使用。map()filter()
例子
>>> print [i for i in range(10)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> print [i for i in range(20) if i%2 == 0] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] >>> nums = [1, 2, 3, 4] >>> fruit = ["Apples", "Peaches", "Pears", "Bananas"] >>> print [(i, f) for i in nums for f in fruit] [(1, 'Apples'), (1, 'Peaches'), (1, 'Pears'), (1, 'Bananas'), (2, 'Apples'), (2, 'Peaches'), (2, 'Pears'), (2, 'Bananas'), (3, 'Apples'), (3, 'Peaches'), (3, 'Pears'), (3, 'Bananas'), (4, 'Apples'), (4, 'Peaches'), (4, 'Pears'), (4, 'Bananas')] >>> print [(i, f) for i in nums for f in fruit if f[0] == "P"] [(1, 'Peaches'), (1, 'Pears'), (2, 'Peaches'), (2, 'Pears'), (3, 'Peaches'), (3, 'Pears'), (4, 'Peaches'), (4, 'Pears')] >>> print [(i, f) for i in nums for f in fruit if f[0] == "P" if i%2 == 1] [(1, 'Peaches'), (1, 'Pears'), (3, 'Peaches'), (3, 'Pears')] >>> print [i for i in zip(nums, fruit) if i[0]%2==0][ (2, 'Peaches'), (4, 'Bananas')]
参考实现
列表推导式在 2.0 版中成为 Python 语言的一部分, 记录在 中。
BDFL声明
上面建议的语法是正确的。
该表格是不允许的;一个是需要写的。[x, y for ...][(x, y) for ...]
窗体嵌套,最后一个索引 变化最快,就像嵌套的 for 循环一样。[... for x... for y...]
文章声明:以上内容(如有图片或视频在内)除非注明,否则均为腾龙猫勺儿原创文章,转载或复制请以超链接形式并注明出处。
本文作者:猫勺本文链接:https://www.jo6.cn/post/88.html
还没有评论,来说两句吧...