items()函数在python中的用法

CSDN 2024-06-29 15:05:01 阅读 61

items()函数在python中的用法

在python中,items()是一个字典的常用内建函数,主要用于获取或设置对象中的单个元素。在python的推导式中,列表和集合也会用到items()函数,但用得最多的还是在字典中。

items()函数在python中的用法

在Python3中,字典是一种无序集合数据类型,由一个个的键值对构成,其中的键和值都可以是任何类型的对象。如果我们需要去遍历一个字典时就可以使用items()函数来返回字典中的所有键值对,items()方法会返回一个元素为元组的迭代器,每个元素表示字典中的一个键值对,第一个元素为键,第二个元素为值。items()函数一般会和for循环方法一起使用。

items()方法是字典的内建函数,所以我们使用items()方法只需要在字典名的后面加一个点,来调用items()方法。items()方法会返回一个字典视图对象。

items()使用示例:

示例1:

# 创建字典

d1 = { '姓名': '张三', '年龄': 20, '性别': '男'}

# 获取字典所有的键值对

d2 = d1.items()

# 输出字典视图

print(d2)

# 循环迭代字典视图并输出键值对

for key, value in d2:

print(key, ':', value)

以上代码的执行结果为:

dict_items([('姓名', '张三'), ('年龄', 20), ('性别', '男')])

姓名 : 张三

年龄 : 20

性别 : 男

在这段代码中,如果直接打印d2,得到的是一个dict_items()的元组对象。如果不需要查看元组对象,也可以直接用for循环来遍历字典,得到每一个键值对,简化代码:

# 创建字典

d1 = { '姓名': '张三', '年龄': 20, '性别': '男'}

# 循环迭代字典并输出键值对

for key, value in d1.items():

print(key, ':', value)

以上代码执行结果为:

姓名 : 张三

年龄 : 20

性别 : 男

示例2:

# 创建字典

d = {

"a":list(range(1,11)),

"b":list(range(11,21)),

"c":list(range(21,31))

}

# 打印字典中的每一个键值对

#方法一:用for循环的嵌套来遍历字典中的每个键值对。

for i in d:

for n in i:

print(str(n) + ':'+ str(d[n]))

#方法二:用for循环搭配items()方法来遍历字典。

for key,value in d.items():

print(key,":",value)

以上两种遍历字典的方法,最终得到的结果都是一致的,但显然,使用for循环搭配items()方法来遍历字典会更简洁和易读。

a : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

b : [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

c : [21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

items()方法的返回值类型

items()方法返回的是一个字典视图对象,它在Python 3中是一个类似于列表的迭代器。 字典视图对象支持迭代,成员资格测试(成员语法),取长度,和一些其他的基本操作。

字典视图并不会支持像修改元素的值这样的高级操作,因为这些操作会导致字典中的条目数量改变。所以它们是只读的。

以下是字典视图中用到的方法:

方法 描述
items 返回一个元素为(key, value)对的、包含(key, value)对元组的迭代器。
keys 返回一个包含字典所有键的迭代器。
values 返回一个包含字典所有值的迭代器。
__eq__ 用于判断两个字典视图是否相等。
__iter__ 用于迭代字典视图。
__len__ 用于返回字典视图的长度。

总结

items()方法是Python 3中字典操作的一个非常有用的方法。通过该方法,我们可以获取字典的键值对,并将其转化为一个元素为元组的迭代器或一个列表。 这种方式可以使得遍历字典变得更加容易,提高了字典的可操作性。而字典视图的方法和成员资格测试,则会让我们在使用items()方法时更加灵活。理解和使用items()方法将会使我们在Python的开发中更加高效。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。