当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dict.items()和dict.iteritems()的区别用法及代码示例


dict.items() 和 dict.iteriteams() 几乎做同样的事情,但它们之间有细微的差别 -

  • 字典.items():以(key,value)元组对的形式返回字典列表的副本,这是(Python v3.x)版本,存在于(Python v2.x)版本中。
  • 字典.iteritems():以(键,值)元组对的形式返回字典列表的迭代器。这是一个 (Python v2.x) 版本,在 (Python v3.x) 版本中被省略。

对于Python2.x:

示例1

Python


# Python2 code to demonstrate
# d.iteritems()
d ={
  "fantasy": "harrypotter",
  "romance": "me before you",
  "fiction": "divergent"
  }
# every time you run the object address keeps changes
print d.iteritems()

输出:

<dictionary-itemiterator object at 0x7f04628d5890>

要打印字典项目,请使用for()循环来划分对象并打印它们

示例2

Python


# Python2 code to demonstrate
# d.iteritems()
d ={
"fantasy": "harrypotter",
"romance": "me before you",
"fiction": "divergent"
}
for i in d.iteritems():
     
    # prints the items
    print(i)

输出:

('romance', 'me before you')
('fantasy', 'harrypotter')
('fiction', 'divergent')

如果我们尝试在 Python v2.x 中运行 dict.items(),它会像 v2.x 中存在 dict.items() 一样运行。

实施例3

Python


# Python2 code to demonstrate
# d.items()
d ={
  "fantasy": "harrypotter",
  "romance": "me before you",
  "fiction": "divergent"
  }
   
# places the tuples in a list.
print(d.items())
# returns iterators and never builds a list fully.
print(d.iteritems())

输出:

[(‘romance’, ‘me before you’), (‘fantasy’, ‘harrypotter’), (‘fiction’, ‘divergent’)] <dictionary-itemiterator object at 0x7f1d78214890>

对于Python3:

示例1

Python3


# Python3 code to demonstrate
# d.items()
d ={
  "fantasy": "harrypotter",
  "romance": "me before you",
  "fiction": "divergent"
  }
# saves as a copy
print(d.items())

输出:

dict_items([(‘fantasy’, ‘harrypotter’), (‘fiction’, ‘divergent’), (‘romance’, ‘me before you’)])

如果我们尝试在 Python v3.x 中运行 dict.iteritems(),我们将遇到错误。

示例2

Python3


# Python3 code to demonstrate
# d.iteritems()
d ={
  "fantasy": "harrypotter",
  "romance": "me before you",
  "fiction": "divergent"
  }
print("d.items() in (v3.6.2) = ")
for i in d.items():
    # prints the items
    print(i)
print("\nd.iteritems() in (v3.6.2)=")
for i in d.iteritems():
    # prints the items
    print(i)

输出:

d.items() in (v3.6.2) = 
('fiction', 'divergent')
('fantasy', 'harrypotter')
('romance', 'me before you')

d.iteritems() in (v3.6.2)=
Traceback (most recent call last):
  File "/home/33cecec06331126ebf113f154753a9a0.py", line 19, in 
    for i in d.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

让我们以表格形式看看差异:

字典.items() 字典.iteritems()
1. dict.items() 方法返回一个视图对象。 dict.iteritems() 函数返回字典列表的迭代器。
2.

它的语法是:

字典.items()

dict.iteritems() 是一个生成 2 元组的生成器
3. 它不带任何参数。 它不带任何参数。
4. 它的返回值是元组对的列表。 它的返回值是键值对列表上的迭代器。
5. 如果输入列表为空,则返回空列表。 这是 python2 版本的函数,但在 python3 版本中被删除。


相关用法


注:本文由纯净天空筛选整理自Tejashwi5大神的英文原创作品 Difference between dict.items() and dict.iteritems() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。