您的位置:

Python中items()方法的返回值及用法

一、items()方法的概述

Python中的字典是一种可变容器模型,且可存储任意类型的对象。字典中每个键值对用冒号(:)分隔,每个对之间用逗号(,)分隔,整个字典包括在花括号({})中。items()方法是字典类型中的方法,用于将字典中的所有元素以列表方式返回,返回值为一个包含键值对元素的列表。


# 示例代码1
dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" %  dict.items())

上述代码中,我们创建了一个名为dict的字典,包含Name和Age两个键值对。使用items()方法将字典转换为以键值对元素组成的列表,最终输出Value : dict_items([('Name', 'Zara'), ('Age', 7)])。

二、items()方法的使用

(一)for循环遍历items()方法返回值

items()方法可以和for循环一起使用,便于遍历字典中的所有元素。


# 示例代码2
dict = {'Name': 'Zara', 'Age': 7}
for key, value in dict.items():
    print(key, value)

在这段代码中,我们使用for循环遍历字典dict的items()方法返回值,分别输出每个键和键对应的值。

(二)将items()方法返回值转换为元组

使用items()方法返回的结果列表元素为元组,可以使用for循环来提取每个键值对元素,并将其转换为元组形式,方便后续的操作和处理。


# 示例代码3
dict = {'Name': 'Zara', 'Age': 7}
tuples_list = []
for key, value in dict.items():
    tuples_list.append((key, value))
print(tuples_list)

在这段代码中,我们使用for循环遍历字典dict的items()方法返回值,将返回值中的每个键值对元素转换为元组形式,并存储在tuples_list列表中,最终输出[(Name, Zara), (Age, 7)]。

(三)items()方法的用法举例

结合以上示例,我们可以将items()方法应用于更广泛的场景,例如统计一个字符串中各个字母出现的次数。


# 示例代码4
str = "hello, world"
dict = {}
for s in str:
    if s not in dict:
        dict[s] = 1
    else:
        dict[s] += 1
for k, v in dict.items():
    print(k, v)

在这段代码中,我们需要统计字符串"hello, world"中各个字母出现的次数。我们首先创建一个空字典dict,for循环遍历字符串,如果字符s没有出现在字典dict中,则将其加入字典并且初始次数为1,如果字符s已经在字典dict中,则将其次数加1。最终我们使用for循环遍历字典dict的items()方法返回值,并输出各个字母出现的次数。

三、items()方法的返回值

items()方法返回值为一个包含键值对元素的列表。列表中的每个元素都是一个由键和值构成的元组,键在前,值在后,元组按照字典顺序排列。


# 示例代码5
dict = {'Name': 'Zara', 'Age': 7}
print(dict.items())

执行以上代码会输出dict_items([('Age', 7), ('Name', 'Zara')]),这是因为items()方法返回的列表按照键的字典顺序排列,而字典的键值对是随机排序的。

四、items()方法的注意事项

当字典中的值为可变对象时,修改这个可变对象也会同时改变字典中的对应值。例如如果字典中的某个值为列表,我们使用列表的方法修改列表的值,那么字典中对应的值也会发生变化。


# 示例代码6
dict_1 = {'class': ['math', 'english']}
list_1 = dict_1['class']
list_1.append('computer')
print(dict_1)

执行以上代码会输出{'class': ['math', 'english', 'computer']},可以看到字典中的值也随着列表修改而更新,这是因为字典中保存的是对象的引用,在字典中保存的是对列表的引用,而不是列表本身。

五、总结

Python中的items()方法是字典类型中的方法,用于将字典中的所有元素以列表方式返回。方法可以和for循环一起使用,便于遍历字典中的所有元素,也可以将返回值转换成元组。items()方法的注意事项包括:当字典中的值为可变对象时,修改这个可变对象也会同时改变字典中的对应值。