Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 为什么带有对象的list()分别显示不同的结果?_Python_List - Fatal编程技术网

Python 为什么带有对象的list()分别显示不同的结果?

Python 为什么带有对象的list()分别显示不同的结果?,python,list,Python,List,第二次结果是None和list(a)。有人对此有线索吗 >>> test = {1: 2, 3: 4} >>> a= test.iterkeys() >>> list(a) **[1, 3]** >>> list(a) **[]** >>> list(a) [] iterkeys返回一个迭代器,与任何迭代器一样,该迭代器只能迭代一次 list消耗整个迭代器,因此后者无法提供更多值,因此后续列表为空 它是一

第二次结果是
None
list(a)
。有人对此有线索吗

>>> test = {1: 2, 3: 4}
>>> a= test.iterkeys()
>>> list(a)
**[1, 3]**
>>> list(a)
**[]**
>>> list(a)
[]

iterkeys
返回一个迭代器,与任何迭代器一样,该迭代器只能迭代一次


list
消耗整个迭代器,因此后者无法提供更多值,因此后续列表为空

它是一个iterable,一旦你使用了这些值,它们就消失了。因为
.iterkeys
返回一个单遍迭代器。