字典视图对象支持的内置函数
pythonserver side programmingprogramming
字典视图对象包括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']