您的位置 首页 教程

Python3 字典

Python3字典是一个无序、可变、有键key的数据类型,由键值对构成。可以通过key快速查询value,并且key必须是唯一的。字典是通过大括号{ }来进行定义,键值对之间使用冒号:来分隔,每个键值对之间使用逗号,来分隔。

Python3 字典

Python3 字典的使用及特性

在Python3中,字典(dictionary)是一种基于键的映射数据类型。字典中的每个元素都由一个键和一个值组成,其中,键必须是唯一的。与列表和元组等数据类型不同的是,字典中的元素没有固定的顺序。

字典的创建和赋值

创建一个空字典可以直接使用花括号{},也可以使用dict()函数:

empty_dict = {}
empty_dict2 = dict()

当给字典赋值时,可以通过键来指定相应的值:

person = {"name": "Tom", "age": 24, "gender": "male"}
person["name"] = "Jerry"  # 修改键name对应的值为Jerry
person["height"] = 178  # 新增键height,对应的值为178

在以上示例中,我们创建了一个名为person的字典,其中包含三个键值对。当我们通过键来赋值时,如果该键已经存在于字典中,则将对应的值进行修改;如果该键不存在,则新增该键值对。

字典的增、删、改、查

增加元素

在前面的例子中,我们已经提到了如何向字典中添加元素,即通过键来指定相应的值。除此之外,还可以使用update()方法批量添加元素:

person.update({"weight": 65, "hobby": "swimming"})
print(person)  # {'name': 'Jerry', 'age': 24, 'gender': 'male', 'height': 178, 'weight': 65, 'hobby': 'swimming'}

在以上示例中,我们使用update()方法向字典中添加了两个键值对。

删除元素

删除字典中的元素可以使用del关键字或pop()方法。使用del删除元素时,需要指定要删除的键:

del person["hobby"]
print(person)  # {'name': 'Jerry', 'age': 24, 'gender': 'male', 'height': 178, 'weight': 65}

使用pop()方法可以删除指定键值对,并返回该键对应的值:

age = person.pop("age")
print(age)  # 24
print(person)  # {'name': 'Jerry', 'gender': 'male', 'height': 178, 'weight': 65}

在以上示例中,我们删除了键为”hobby”的键值对,并使用pop()方法删除了键为”age”的键值对,同时将返回的值赋值给了变量age

修改元素

在前面的示例中已经展示了如何通过键来修改相应的值。除此之外,也可以使用update()方法来批量修改元素:

person.update({"weight": 70, "gender": "female"})
print(person)  # {'name': 'Jerry', 'gender': 'female', 'height': 178, 'weight': 70}

在以上示例中,我们使用update()方法批量修改了键”weight”和”gender”对应的值。

查询元素

查询字典中的元素可以通过键来获取相应的值:

print(person["name"])  # Jerry
print(person.get("age", "unknown"))  # 如果键值对不存在,则返回"unknown",否则返回对应的值

在以上示例中,我们使用键”name”和”age”来获取相应的值。如果字典中不存在指定的键,则会抛出KeyError异常;而get()方法可以避免这种情况的发生,如果键不存在,则返回指定的默认值。

字典的遍历

遍历字典中的元素可以使用for循环,循环的变量可以指定为键、值或键值对:

for key in person:
    print(key, person[key])
 
for value in person.values():
    print(value)
 
for key, value in person.items():
    print(key, value)

在以上示例中,我们对字典person进行了三种不同的遍历方式,分别输出了键、值或键值对。

字典的特性

在使用字典时需要注意,由于字典是一种无序的数据类型,因此不能通过索引来访问元素。此外,由于字典中的键必须是唯一的,因此如果使用重复的键存储不同的值,后面的值会覆盖前面的值:

scores = {"Tom": 80, "Jerry": 85, "Tom": 90}
print(scores)  # {'Tom': 90, 'Jerry': 85}

在以上示例中,我们试图使用键”Tom”存储不同的值,但由于键已经存在于字典中,最后存储的值为90。

总结

Python3中的字典是一种基于键的映射数据类型,用于存储键值对。字典中的键必须是唯一的,而键值对没有固定的顺序。可以通过键来操作字典中的元素,包括增加、删除、修改和查询操作。同时,还可以通过for循环遍历字典中的元素。

关于作者: 品牌百科

热门文章