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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。