字典视图对象支持的内置函数


字典视图对象包括 `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']

更新于:2022年8月25日

414 次浏览

启动您的职业生涯

完成课程后获得认证

开始学习
广告