Los*_*_DM 7 python list-comprehension
我有一个列表,我想只对那些满足某种条件的条目使用某个函数 - 保持其他条目不被修改.
示例:假设我想仅将那些偶数的元素乘以2.
a_list = [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
通缉结果:
a_list => [1, 4, 3, 8, 5]
Run Code Online (Sandbox Code Playgroud)
但是[elem * 2 for elem in a_list if elem %2 == 0]收益率[4, 8](它还充当了过滤器).
什么是正确的方法呢?
Fre*_*Foo 18
使用条件表达式:
[x * 2 if x % 2 == 0 else x
for x in a_list]
Run Code Online (Sandbox Code Playgroud)
(数学极客注意:你也可以解决这个特殊情况
[x * (2 - x % 2) for x in a_list]
Run Code Online (Sandbox Code Playgroud)
但无论如何我更喜欢第一个选项;)
| 归档时间: |
|
| 查看次数: |
12024 次 |
| 最近记录: |