代码 A:
numbers = [2, -1, 79, 33, -45]
negative_doubled = [num * 2 for num in numbers if num < 0]
print(negative_doubled) # output is: [-2, -90]
Run Code Online (Sandbox Code Playgroud)
代码 B:
numbers = [2, -1, 79, 33, -45]
doubled = [num * 2 if num < 0 else num * 3 for num in numbers ]
print(doubled) # output is: [6, -2, 237, 99, -90]
Run Code Online (Sandbox Code Playgroud)
如您所见,if语句的位置是不同的。在代码 A 中,该if语句位于 for 循环语句之后。
他们为什么不写这样的代码?我会觉得它更直观。
numbers = [2, -1, 79, 33, …Run Code Online (Sandbox Code Playgroud)