ils*_*tam 11 python list-comprehension
通常,列表推导用于从现有列表中导出新列表.例如:
>>> a = [1, 2, 3, 4, 5]
>>> [i for i in a if i > 2]
[3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
我们应该用它们来执行其他程序吗?例如:
>>> a = [1, 2, 3, 4, 5]
>>> b = []
>>> [b.append(i) for i in a]
[None, None, None, None, None]
>>> print b
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
或者我应该避免上述内容而是使用以下内容?:
for i in a:
b.append(i)
Run Code Online (Sandbox Code Playgroud)
小智 10
你应该避免使用列表推导(以及字典理解,设置理解和生成器表达式)来产生副作用.除了他们积累虚假名单并因此浪费记忆这一事实之外,它也令人困惑.我期望列表理解能够生成(有意义的)值,许多人会同意.另一方面,循环显然是一系列陈述.预计它们会产生副作用并且不产生任何结果值 - 毫不奇怪.
| 归档时间: |
|
| 查看次数: |
1288 次 |
| 最近记录: |