當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。