python 列表生成式( if not(i % 2) and (i % 3))为什么是能被2整除,不能被3整除,如何理解!!

a = [i for i in range(100)if not(i % 3) and i % 2]

结果 a = 
[2, 4, 8, 10, 14, 16, 20, 22, 26, 28, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 62, 64, 68, 70, 74, 76, 80, 82, 86, 88, 92, 94, 98]

Python中的真假测试对于整数而言,0为假,非0为真。

对于 ( if not(i % 2) and (i % 3))  


not (i%2)为真的条件是:i%2为假,即i%2==0,即i能被2整除;i%3为真的条件是i%3!=0,即i不能被3整除。

你可能感兴趣的:(python 列表生成式( if not(i % 2) and (i % 3))为什么是能被2整除,不能被3整除,如何理解!!)