Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:比较元组列表_Python_List_Tuples - Fatal编程技术网

python:比较元组列表

python:比较元组列表,python,list,tuples,Python,List,Tuples,只是想知道以下几点: print [()] == list(tuple()) # prints False 第一个是包含空元组的列表,第二个是空列表 为什么这段代码打印False而不是True(在python 2和3中的结果相同) 提前谢谢 您将带有一个元素(空元组)的列表与空列表进行了比较列表(tuple())不会做您认为它会做的事情 这是因为list(object)不会生成一个以该对象为元素的列表list()将必须可编辑的对象转换为列表。它从对象中复制元素: >>> di

只是想知道以下几点:

print [()] == list(tuple()) # prints False
第一个是包含空元组的列表,第二个是空列表

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


提前谢谢

您将带有一个元素(空元组)的列表与空列表进行了比较<代码>列表(tuple())不会做您认为它会做的事情

这是因为
list(object)
不会生成一个以该对象为元素的列表
list()
将必须可编辑的对象转换为列表。它从对象中复制元素:

>>> dictionary = {'foo': 'bar'}
>>> list(dictionary)  # iteration over a dictionary produces keys
['foo']
您给它一个空元组,因此结果是一个空列表:

>>> empty = ()
>>> list(empty)
[]

顺便说一下,
tuple()
也做同样的事情。没有参数的
list()
tuple()
都会生成空对象。

因为它们不会生成相同的结果?第一个是包含1个元素的列表,第二个是包含零个元素的列表<代码>列表()。元组是一个可数,您将空元组转换为列表。明白了,谢谢!