python:比较元组列表

时间:2017-10-17 09:18:29

标签: python list tuples

只是想知道以下内容:

<buttons>

第一个是包含空元组的列表,第二个是空列表。

为什么这段代码打印False而不是True(python 2和3中的结果相同)?

提前致谢!

1 个答案:

答案 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() 都会生成一个空对象。