繁体   English   中英

python:比较元组列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM