对于列表推导式:a = [i for i in range(100)if not(i % 2) and i % 3]
结果 为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)为真的条件是:not 0 ;即需要i%2==0,即i能被2整除;
i%3为真的条件是i%3 != 0,即i不能被3整除。