Python &引用;“如果我没有价值”;如果范围为()的列表中的值为257或更大,则忽略
我想用0到999的数字填写一个列表,除了一个特定的数字。但看起来某个数字只能从0到256;如果超过257或更大,“如果我不是……”部分被忽略。有人能解释一下为什么Python(2.x和3.x)中会出现这种情况吗Python &引用;“如果我没有价值”;如果范围为()的列表中的值为257或更大,则忽略,python,list,range,Python,List,Range,我想用0到999的数字填写一个列表,除了一个特定的数字。但看起来某个数字只能从0到256;如果超过257或更大,“如果我不是……”部分被忽略。有人能解释一下为什么Python(2.x和3.x)中会出现这种情况吗 用==而不是测试等式是,用测试不等式=而不是不是 >>> l = [i for i in range(1000) if i is not 257]; len(l) 1000 >>> l = [i for i in range(1000) if i !=
用
==
而不是测试等式是,用测试不等式=代码>而不是不是
>>> l = [i for i in range(1000) if i is not 257]; len(l)
1000
>>> l = [i for i in range(1000) if i != 257]; len(l)
999
用==
而不是测试等式是,用测试不等式=代码>而不是不是
>>> l = [i for i in range(1000) if i is not 257]; len(l)
1000
>>> l = [i for i in range(1000) if i != 257]; len(l)
999
is
测试两个值是否相同,而不是是否相等。Python对小整数使用“单例”值,但大整数每次都是一个新对象
不要将is
用于除无
以外的任何用途,除非您完全确定自己在做什么。使用==
/=代码>
I一次。is
测试两个值是否相同,而不是是否相等。Python对小整数使用“单例”值,但大整数每次都是一个新对象
不要将is
用于除无
以外的任何用途,除非您完全确定自己在做什么。使用==
/=代码>
我曾经说过。这将是一个更好的副本:这将是一个更好的副本: