只是想知道以下内容:
<buttons>
第一个是包含空元组的列表,第二个是空列表。
为什么这段代码打印False而不是True(python 2和3中的结果相同)?
提前致谢!
答案 0 :(得分:3)
您将列表与一个元素(空元组)与一个空列表进行了比较。 list(tuple())
不符合您的想法。
那是因为list(object)
不会生成一个列表,其中一个对象作为元素。 list()
将必须可迭代的对象转换为列表。它复制对象的 out 元素:
>>> dictionary = {'foo': 'bar'}
>>> list(dictionary) # iteration over a dictionary produces keys
['foo']
你给它一个空元组,所以结果是一个空列表:
>>> empty = ()
>>> list(empty)
[]
顺便说一下, tuple()
做同样的事情。没有参数的list()
和tuple()
都会生成一个空对象。