python中的\[None\]和\[\]有什么区别?

新手上路,请多包涵

我认为 [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 授予不同?

原文由 minssi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 294
2 个回答

[] 是一个空列表

[None] 是一个只有一个元素的列表。那一个元素是 None

is 检查引用是否相等。如果两个对象通过 引用引用 同一个对象,那么 is 将返回 true。

 a = []
b = a
a is [] #false
a is b  #true

原文由 gnicholas 发布,翻译遵循 CC BY-SA 4.0 许可协议

[None] 并不意味着列表中没有任何内容。 None 是python中的关键字,有特殊含义。它就像 NILNULL 在其他语言中。

当您说 [None] 时,您是在说“我想要一个列表,其中包含名为 None 的特殊对象”。这不同于说“我想要一个不包含任何元素的列表”(通过键入 [] )。

原文由 Frank Bryce 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题