【问题标题】:Why list() with an object shows different results respectively? [duplicate]为什么 list() 与一个对象分别显示不同的结果? [复制]
【发布时间】:2017-10-31 09:35:09
【问题描述】:

第二次结果是Nonelist(a)。有人知道吗?

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

【问题讨论】:

  • 它是可迭代的,一旦你使用了它们就消失的值。
  • 因为.iterkeys 返回单遍迭代器。

标签: python list


【解决方案1】:

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

list 消耗整个迭代器,使得后者无法再提供任何值,因此后续列表为空。

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2016-01-22
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    相关资源
    最近更新 更多