在使用iterator遍历dict中的元素

来源:互联网 发布:python 显示进度条 编辑:程序博客网 时间:2024/06/05 03:08

一般我们使用 for k,v in d.items() 来遍历dict中所有的k-v对,Python教程给出的例子也总是这样,但涉及处理大量数据时,比如dict有上G的数据,使用这种方法产生(k,v)的列表会非常耗时,并且占用很多内存。

同STD中的iterator一样,Python中也有迭代子,只是我们不常使用。

dict有几种迭代子,它们分别是:iteritems, iterkeys, itervalues,具体含义可以参见Python的帮助文档。下面我们仅就iteritems给出一个使用的例子:

myIter = myDict.iteritems()
while True :
    try :
        item_tuple = myIter.next()
        print repr(item_tuple)
    except StopIteration :
        break

另一点,如果只需要在一部分数据中遍历时,使用 for k,v in d.iterms()[m:n] 也是可以的,似乎dict并没有先产生所有items的列表。

原创粉丝点击