字典视图对象支持的内置函数
字典视图对象包括 `dict.keys()`、`dict.values()`、`dict.items()`。它们用于在 Python 中获取字典元素的动态视图。这些对象会反映对字典所做的更改。
为了检索某些数据或对这些视图对象执行各种操作,Python 中支持 5 个内置函数。它们如下所示:
`len(obj)`
`iter(obj)`
`reversed(obj)`
`sorted(obj)`
`list(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']
广告