python 字符串和内部条件
python strings and insider condition
好吧,我正在 Udemy 上学习,我无法弄清楚为什么这行代码的结果:
numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
result = [num + 3 for num in numbers if num % 2 == 0]
print(result)
是 [5, 11, 37] 而不是 [4, 4, 6, 8, 16, 24, 58]?
感谢您的帮助。
if num % 2 == 0
表示你只想在 num 为偶数时执行代码。
这样只有 2,8 和 34 被添加到列表中并增加 3.
你期待的答案(只有奇数加3)是当最后一位是这样的:
if num % 2 != 0
for num in numbers
迭代列表的元素。
if num % 2 == 0
限制为偶数。
因此,您最终将 3 添加到 : 2、8 和 34,这给出了预期的结果。
更明确的循环是:
numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
result = []
for num in numbers:
if num%2 == 0: # if it's even
result.append(num+3)
print(result)
好吧,我正在 Udemy 上学习,我无法弄清楚为什么这行代码的结果:
numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
result = [num + 3 for num in numbers if num % 2 == 0]
print(result)
是 [5, 11, 37] 而不是 [4, 4, 6, 8, 16, 24, 58]?
感谢您的帮助。
if num % 2 == 0
表示你只想在 num 为偶数时执行代码。 这样只有 2,8 和 34 被添加到列表中并增加 3.
你期待的答案(只有奇数加3)是当最后一位是这样的:
if num % 2 != 0
for num in numbers
迭代列表的元素。
if num % 2 == 0
限制为偶数。
因此,您最终将 3 添加到 : 2、8 和 34,这给出了预期的结果。
更明确的循环是:
numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
result = []
for num in numbers:
if num%2 == 0: # if it's even
result.append(num+3)
print(result)