gpt4 book ai didi

python - 列表理解和 % 函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:19:59 26 4
gpt4 key购买 nike

当我使用下面的代码时

[i for i in range(-9, 10, 2) if not i%3)] 

它给了

> (-9, -3, 3, 9)

为什么会给出这样的答案? 'i%3' 是什么意思?

谢谢。

最佳答案

在您的示例中,%modulo operator . a % b 返回 a/b 的余数。

因此在您的示例中,循环经过:

[-9, -7, -5, -3, -1, 1, 3, 5, 7, 9]

-9 % 3 等于0,因为-9可以被3整除,所以没有余数。然而,5 % 3 返回 2,因为 3 进入 5 一次,并且 5 - 3 == 2

not i % 3 有点棘手。首先,计算 i % 3。如果结果大于 0,则认为它是 Truenot 是一个 bool 运算符,它获取 bool 值的负值。所以 not TrueFalse(not False 是 True)。

0 被认为是 False,因此如果 i % 3 == 0,那么 i 将被包括在内在新列表中。


现在,print("%s %s", ("hello", "world")) 打印“hello world”的原因是因为它不是模运算符。那是 string formatting .文档会比我更好地解释它:p。恰好 % 也被使用了。

关于python - 列表理解和 % 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17257294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com