Python 3 – items()方法 – 字典条目
在Python 3中,字典是一种键值对的无序集合数据类型,其中键和值可以是任何类型的对象。当我们需要遍历字典的时候,我们可以使用items()
方法返回所有的键值对,这个方法将返回一个元素为元组的迭代器,每个元素表示字典的一个键值对,第一个元素为键,第二个元素为值。
items()方法的用法
我们可以通过调用字典的items()
方法来获取该字典中所有的键值对,并以字典视图的形式返回。 items()
方法返回一个字典视图对象,它包含一个键值对的元组序列,它可以用于循环或转换为列表或元组。
以下是items()
方法的使用示例:
# 创建字典
dict1 = {'Name': 'Tom', 'Age': 20, 'Gender': 'Male'}
# 获取字典所有的键值对
items = dict1.items()
# 输出字典视图
print(items)
# 循环迭代字典视图并输出键值对
for key, value in items:
print(key, ':', value)
输出:
dict_items([('Name', 'Tom'), ('Age', 20), ('Gender', 'Male')])
Name : Tom
Age : 20
Gender : Male
items()方法的返回值类型
items()
方法返回的是一个字典视图对象,它在Python 3中是一个类似于列表的迭代器。 字典视图对象支持迭代,成员资格测试(成员语法),取长度,和一些其他的基本操作。
字典视图并不会支持像修改元素的值这样的高级操作,因为这些操作会导致字典中的条目数量改变。所以它们是只读的。
以下是字典视图中用到的方法:
方法 | 描述 |
---|---|
items |
返回一个元素为(key , value )对的、包含(key , value )对元组的迭代器。 |
keys |
返回一个包含字典所有键的迭代器。 |
values |
返回一个包含字典所有值的迭代器。 |
__eq__ |
用于判断两个字典视图是否相等。 |
__iter__ |
用于迭代字典视图。 |
__len__ |
用于返回字典视图的长度。 |
以下是字典视图中用到的成员资格测试:
# 创建一个字典
dict1 = {'Name': 'Tom', 'Age': 20, 'Gender': 'Male'}
# 检查键是否在字典中
if 'Name' in dict1:
print("Name is in dict1")
# 检查键值对是否在字典中
if ('Age',20) in dict1.items():
print("{'Age',20} is in dict1.items()")
输出:
Name is in dict1
{'Age',20} is in dict1.items()
将字典键值对转化为列表
我们可以使用items()
方法将字典的键值对转化为一个包含元素为元组的列表,其中每个元组表示一个键值对。为此,只需将迭代器传入到内置函数list()
中即可。
以下是将字典转化为列表的示例:
# 创建字典
dict1 = {'Name': 'Tom', 'Age': 20, 'Gender': 'Male'}
# 获取字典所有的键值对
items = dict1.items()
# 将字典所有的键值对转化为列表
items_list = list(items)
# 输出列表
print(items_list)
输出:
[('Name', 'Tom'), ('Age', 20), ('Gender', 'Male')]
总结
items()
方法是Python 3中字典操作的一个非常有用的方法。通过该方法,我们可以获取字典的键值对,并将其转化为一个元素为元组的迭代器或一个列表。 这种方式可以使得遍历字典变得更加容易,提高了字典的可操作性。而字典视图的方法和成员资格测试,则会让我们在使用items()
方法时更加灵活。理解和使用items()
方法将会使我们在Python的开发中更加高效。