跳到主要内容

Dict 的 items() 方法与 iteritems() 方法的不同?

参考答案:

在 Python 中,dict 是一个内置的数据类型,用于存储键值对。items()iteritems() 是这个数据类型中的两个方法,用于遍历字典中的键值对。然而,需要注意的是,iteritems() 方法在 Python 3 中已经被移除了,而在 Python 2 中是可用的。

  1. items() 方法(Python 2 和 Python 3):

    • items() 方法返回一个包含字典中所有键值对的视图对象。
    • 这个视图对象在字典改变时会自动更新。
    • 返回的视图对象是一个列表的元组,即 [(key1, value1), (key2, value2), ...]
    • 在 Python 3 中,items() 返回一个字典视图对象,它是动态的,也就是说,如果原字典发生改变,视图对象也会相应地改变。
# Python 3 示例
d = {'a': 1, 'b': 2, 'c': 3}
for key, value in d.items():
    print(key, value)
  1. iteritems() 方法(仅 Python 2):

    • iteritems() 方法返回一个迭代器,该迭代器产生字典中的键值对。
    • items() 一样,返回的迭代器在字典改变时也会自动更新。
    • 在 Python 2 中,iteritems() 通常比 items() 更高效,因为它返回一个迭代器,而不是一个列表。
    • 然而,在 Python 3 中,这个方法已经被移除了,取而代之的是 items() 方法,它现在返回一个动态视图对象,而不是迭代器。
# Python 2 示例
d = {'a': 1, 'b': 2, 'c': 3}
for key, value in d.iteritems():
    print(key, value)

总的来说,items()iteritems() 的主要区别在于它们返回的类型:items() 返回一个视图对象,而 iteritems() 返回一个迭代器。此外,iteritems() 仅在 Python 2 中可用,而在 Python 3 中已被移除。在 Python 3 中,你应该使用 items() 来遍历字典的键值对。