python – 列表理解和%函数
发布时间:2020-12-20 11:27:57 所属栏目:Python 来源:网络整理
导读:当我使用以下代码时 [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,-1,1,5,7,9] -9
当我使用以下代码时
[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,-1,1,5,7,9] -9%3等于0,因为-9可被3整除,因此没有余数.但是,5%3返回2,因为3进入5次,5 – 3 == 2. 不是我%3有点棘手.首先,评估i%3.如果结果大于0,则认为是True. not是一个布尔运算符,它得到布尔值的负数.所以不是True是假的(而不是False是真的). 0被认为是假,所以如果i%3 == 0,那么我将被包含在新列表中. 现在,print(“%s%s”,(“hello”,“world”))打印“hello world”的原因是因为它不是模运算符.这是string formatting.文档将比我更好地解释它:p.只是使用了%. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |