Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;“如果我没有价值”;如果范围为()的列表中的值为257或更大,则忽略_Python_List_Range - Fatal编程技术网

Python &引用;“如果我没有价值”;如果范围为()的列表中的值为257或更大,则忽略

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 !=

我想用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 != 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
用于除
以外的任何用途,除非您完全确定自己在做什么。使用
==
/
=


我曾经说过。

这将是一个更好的副本:这将是一个更好的副本: