[英]python: comparing list of tuple
只是想知道以下内容:
print [()] == list(tuple()) # prints False
第一个是包含一个空元组的列表,第二个是一个空列表。
为什么这段代码显示False而不是True(Python 2和3的结果相同)?
提前致谢!
您将一个列表与一个元素(一个空的元组)与一个空的列表进行了比较。 list(tuple())
不执行您认为的操作。
这是因为list(object)
不产生与一个对象作为元素的列表。 list()
将必须可迭代的对象转换为列表。 它将元素复制出对象:
>>> dictionary = {'foo': 'bar'}
>>> list(dictionary) # iteration over a dictionary produces keys
['foo']
您给了它一个空的元组,因此结果是一个空列表:
>>> empty = ()
>>> list(empty)
[]
顺便说一下, tuple()
做同样的事情。 没有参数的 list()
和tuple()
产生一个空对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.