【发布时间】:2016-08-24 00:57:58
【问题描述】:
我认为 [None] 与 [] 相同,但在我的测试中,也许有一些东西......
>>>print len([])
0
>>>print len([None])
1
我什么时候应该使用 None ?和 []
还有一个有趣的问题
>>>c= []
>>>d= []
>>>print c is d
False
>>>a= 1
>>>b=1
print a is b
True
为什么空列表的 id 授予不同?
【问题讨论】:
-
1.
[]- 一个没有任何项目的列表。[None]- 一个包含None对象的列表。 -
2.您需要使用
==而不是is来检查相等性。使用is来检查身份(对于像None、True、False这样的单例对象) -
@falsetru:那些不要求提供更多信息或提出改进建议的人,因此不应该是 cmets。
-
is检查两个变量是否指向同一个对象,而==检查变量引用的对象是否相等。见stackoverflow.com/questions/132988/…