Python 字典视图对象支持的内建函数
字典视图对象包括dict.keys(),dict.values()和dict.items()。它们用于获取Python中字典元素的动态视图。这些对象会反映对字典所做的更改。
为了从这些视图对象中检索数据或执行各种操作,Python支持5个内建函数。它们如下所示−
- len(obj)
-
iter(obj)
-
reversed(obj)
-
sorted(obj)
-
ist(obj)
我们将在本文中讨论上述所有函数。
len(obj)方法
len(obj)方法接受一个视图对象作为参数,并返回字典中项的数量。
示例
以下是一个示例,返回字典中项的总数−
d = {'g': 1, 'b': 2, 'c': 3, 'd': 4}
k=d.keys()
print (len(k))
v=d.values()
print (len(v))
i=d.items()
print (len(i))
输出
上述代码的输出如下:
4
4
4
iter(obj)方法
使用iter(obj)方法,按插入的顺序遍历字典的键。它接受任何视图对象作为参数,然后返回一个遍历字典中键、值或项的迭代器。
示例1
下面是一个示例,用 list() 构造函数遍历键并将迭代器转换为列表:
d = {'g': 1, 'b': 5, 'c': 3, 'd': 4}
k=d.keys()
print (iter(d))
#Converting iterator to list
print (list(iter(d)))
输出
<dict_keyiterator object at 0x7f825131df40>
['g', 'b', 'c', 'd']
示例2
以下是使用 for 循环遍历迭代器中元素的值的示例:
d = {'g': 1, 'b': 5, 'c': 3, 'd': 4}
v=d.values()
print (iter(v))
#Accessing elements in iterator using for loop
for i in iter(v):
print (i)
输出
<dict_valueiterator object at 0x7f0174c31f90>
1
5
3
4
示例3
以下是一个示例,通过使用next()函数迭代访问迭代器中的元素:
d = {'g': 1, 'b': 5, 'c': 3, 'd': 4}
i=d.items()
i1=iter(i)
#Accessing elements in itertaor using next() fucntion
print (next(i1))
print (next(i1))
print (next(i1))
输出
('g', 1)
('b', 5)
('c', 3)
reversed(obj)方法
与iter(obj)方法相反,reversed(obj)方法按照插入顺序的相反顺序运行迭代器。这个内置函数以视图对象作为参数,并返回字典的键、值或项的反向迭代器。
示例
以下是一个以反向顺序返回字典的键、值和项的示例:
d = {'g': 1, 'b': 5, 'c': 3, 'd': 4}
k=reversed(d.keys())
print (list(k))
v=reversed(d.values())
print (list(v))
i=reversed(d.items())
print (list(i))
#return a reversed iterator of keys alone
d1=reversed(d)
print (list(d1))
输出
['d', 'c', 'b', 'g']
[4, 3, 5, 1]
[('d', 4), ('c', 3), ('b', 5), ('g', 1)]
['d', 'c', 'b', 'g']
sorted(obj)方法
sorted(obj)方法以视图对象为参数,并返回与字典的键、值或条目相对应的已排序列表。
示例
以下是按字母顺序打印字典条目的示例:
d = {'g': 1, 'b': 5, 'c': 3, 'd': 4}
print (sorted(d.keys()))
print (sorted(d.values()))
print (sorted(d.items()))
d1=print (sorted(d))
输出
['b', 'c', 'd', 'g']
[1, 3, 4, 5]
[('b', 5), ('c', 3), ('d', 4), ('g', 1)]
['b', 'c', 'd', 'g']
list(obj)方法
list(obj)函数以视图对象作为参数,并返回字典的键、值或字典项的列表。
示例
以下是一个打印字典项、键和值的示例:
d = {'g': 1, 'b': 5, 'c': 3, 'd': 4}
print (list(d.keys()))
print (list(d.values()))
print (list(d.items()))
d1=print (list(d))
输出
['g', 'b', 'c', 'd']
[1, 5, 3, 4]
[('g', 1), ('b', 5), ('c', 3), ('d', 4)]
['g', 'b', 'c', 'd']