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 版本中被刪除。 |
相關用法
- Python dict.values用法及代碼示例
- Python dict()用法及代碼示例
- Python dictionary cmp()用法及代碼示例
- Python dictionary type()用法及代碼示例
- Python dictionary fromkeys()用法及代碼示例
- Python dictionary get()用法及代碼示例
- Python dictionary setdefault()用法及代碼示例
- Python dictionary update()用法及代碼示例
- Python dict pop()用法及代碼示例
- Python dict popitem()用法及代碼示例
- Python dict keys()用法及代碼示例
- Python dict items()用法及代碼示例
- Python dict update()用法及代碼示例
- Python dict setdefault()用法及代碼示例
- Python dict fromkeys()用法及代碼示例
- Python dictionary values()用法及代碼示例
- Python dict用法及代碼示例
- Python dir()用法及代碼示例
- Python divmod()用法及代碼示例
- Python distributed.diagnostics.progressbar.progress用法及代碼示例
- Python distributed.fire_and_forget用法及代碼示例
- Python distributed.futures_of用法及代碼示例
- Python distributed.worker_client用法及代碼示例
- Python distributed.get_worker用法及代碼示例
- Python distributed.get_client用法及代碼示例
注:本文由純淨天空篩選整理自Tejashwi5大神的英文原創作品 Difference between dict.items() and dict.iteritems() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。