Python中的字典(dict)(第10节)


1、定义字典

Python是一门广泛应用于数据分析、机器学习等领域的语言,而字典作为Python中最常用的数据类型之一,也被广泛使用。Python中的字典(dict)类型是一种高效的数据结构,可以用来存储和查找任意类型的数据对象,例如数字、字符串、列表、元组等。定义字典非常简单,例如:

动手练一练:

# 定义一个字典
a = {
    "Apple":"苹果",
    "Banana":"香蕉",
    "Cherry":"樱桃",
    "Orange":"橙子",
}
b = {} # 定义空字典
print(a)
print("-------这是虚线-------")
print(b)

执行以上代码,输出结果为:

{'Apple': '苹果', 'Banana': '香蕉', 'Cherry': '樱桃', 'Orange': '橙子'}
-------这是虚线-------
{}

上面的例子中,创建了一个名为a的字典,字典的元素是成对出现的,创建字典使用大括号“{}”括起来,键、值用冒号“:”分割,每对键和值之间用逗号“,”分割。

字典的语法格式为:

字典 = { (Key) : (Value) , (Key) : (Value) , ……}

字典以键值成对的形式存储数据,其中键(key)必须是唯一的,而值(value)则可以重复。如果是空字典(一个元素都没有),直接使用“{}”表示。

2、使用字典

在Python中,字典是由一系列的键值对(key:value)组合而成的数据结构,字典元素都是成对出现的,每个元素必须要有键和对应的值,访问字典需要用键(key)去“查找”值(value)。字典类型很像学生时代常用的新华字典。我们知道,通过新华字典中的音节表,可以快速找到想要查找的汉字。其中,字典里的音节表就相当于字典类型中的“键”,而音节表对应的汉字则相当于“值”。例如:

动手练一练:

# 查找字典
a = {
    "Apple":"苹果",
    "Banana":"香蕉",
    "Cherry":"樱桃",
    "Orange":"橙子",
}
print(a["Apple"]) # 输出 苹果

执行以上代码,输出结果为:

苹果

上面的例子中,由于字典中的数据没有先后关系,字典的存储是无序的,字典中的每个数据都是用“键”(key) 进行索引,而不像序列可以用下标进行索引,但是这种方法只能获取已经存在的键值对。当我们尝试访问字典中不存在的键时,Python将会显示KeyError错误信息。例如:

动手练一练:

# 查找字典
a = {
    "Apple":"苹果",
    "Banana":"香蕉",
    "Cherry":"樱桃",
    "Orange":"橙子",
}
print(a["Python"])  # 输出 KeyError错误

执行以上代码,输出结果为:

KeyError: 'Python'

为了避免这个错误异常,我们可以使用setdefault()方法尝试获取指定键的值时,如果键不存在,会插入该键并设置一个默认值。例如:

动手练一练:

# 查找字典
a = {
    "Apple":"苹果",
    "Banana":"香蕉",
    "Cherry":"樱桃",
}

# 如果键存在,则返回键所对应的值
value1 = a.setdefault("Apple", "默认值")
print(value1)  # 输出: 苹果

# 如果键不存在,则插入该键并设置一个默认值,且返回设置的默认值
value2 = a.setdefault("Python", "默认值")
print(value2)  # 输出: 默认值
print(a)  # 输出: {'Apple': '苹果', 'Banana': '香蕉', 'Cherry': '樱桃', 'Python': '默认值'}

执行以上代码,输出结果为:

苹果
默认值
{'Apple': '苹果', 'Banana': '香蕉', 'Cherry': '樱桃', 'Python': '默认值'}

3、修改字典

字典和列表一样,都是可变的数据结构,可以在创建后修改其内容。要修改字典中的值,可直接指定字典中的键所对应的新值,例如:

动手练一练:

# 修改字典
a = {
    "Apple":"苹果",
    "Banana":"香蕉",
    "Orange":"橙子",
}
print(a) # 输出 {'Apple': '苹果', 'Banana': '香蕉', 'Orange': '橙子'}
a["Apple"] = "桃子"
print(a) # 输出 {'Apple': '桃子', 'Banana': '香蕉', 'Orange': '橙子'}

执行以上代码,输出结果为:

{'Apple': '苹果', 'Banana': '香蕉', 'Orange': '橙子'}
{'Apple': '桃子', 'Banana': '香蕉', 'Orange': '橙子'}

上面的例子中,我们成功修改了“Apple”对应的值,注意:只能通过键来修改值。

4、新增元素

字典新增元素和修改元素的语法基本相同,也是直接指定字典中新的键所对应的值,例如:

动手练一练:

# 新增元素
a = {} # 定义空字典
print(a)
a["Apple"] = "苹果"
print(a)

执行以上代码,输出结果为:

{}
{'Apple': '苹果'}

上面的例子中,先定义一个空字典,通过赋值语句,给字典中增加了一组键值对。

5、删除元素

字典中删除元素,和列表、元组删除元素一样,字典也可以使用del关键字根据键来删除字典中的元素,例如:

动手练一练:

# 删除元素
a = {
    "Apple":"苹果",
    "Banana":"香蕉",
    "Orange":"橙子",
}
print(a) # 输出 {'Apple': '苹果', 'Banana': '香蕉', 'Orange': '橙子'}
del a["Orange"]
print(a) # 输出 {'Apple': '苹果', 'Banana': '香蕉'}

执行以上代码,输出结果为:

{'Apple': '苹果', 'Banana': '香蕉', 'Orange': '橙子'}
{'Apple': '苹果', 'Banana': '香蕉'}

上面的例子中,del关键字成功删除了键为“Orange”的元素。