详解Python中字典的增删改查

  • Post category:Python

下面是关于Python中字典的增删改查的详解攻略:

Python中字典的基本概念和用法

Python中的字典是一种无序可变的数据类型,用于存储键值对。字典中的键必须是唯一的,且只能是不可变的数据类型(比如字符串、数字和元组等),每个键对应一个值。

创建字典

可以通过花括号{}或者dict()函数来创建一个字典,其中花括号内的元素表示键值对,格式为键: 值。

# 创建一个空字典
my_dict = {}

# 创建一个带有三个键值对的字典
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}

# 使用dict函数创建字典
my_dict = dict(name='Tom', age=18, gender='male')

字典的基本操作

访问字典中的元素

可以通过键来访问字典中的值。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(my_dict['name'])  # 打印出:'Tom'

修改字典中的元素

可以通过键来修改字典中的值。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
my_dict['age'] = 20
print(my_dict)  # 打印出:{'name': 'Tom', 'age': 20, 'gender': 'male'}

添加元素到字典中

可以通过键来添加元素到字典中。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
my_dict['height'] = 180
print(my_dict)  # 打印出:{'name': 'Tom', 'age': 18, 'gender': 'male', 'height': 180}

从字典中删除元素

可以通过键来从字典中删除元素。

my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
del my_dict['age']
print(my_dict)  # 打印出:{'name': 'Tom', 'gender': 'male'}

示例一:使用字典统计元素出现的次数

numbers = [1, 2, 3, 2, 1, 3, 4, 5, 4, 3, 2, 1]

counts = {}
for n in numbers:
    if n in counts:
        counts[n] += 1
    else:
        counts[n] = 1

print(counts)

输出结果如下:

{1: 3, 2: 3, 3: 3, 4: 2, 5: 1}

该示例中,我们定义了一个空字典counts来统计数字列表中每个元素出现的次数。然后遍历列表中的每个元素,如果该元素已经存在于字典counts中,就将该元素的出现次数加一;否则,就将该元素添加进字典counts,并将出现次数设置为1。

示例二:使用字典实现switch语句

Python中没有switch语句,但我们可以使用字典来模拟实现。

def case1():
    print("case 1")

def case2():
    print("case 2")

def case3():
    print("case 3")

def default():
    print("default")

switch = {
        'case1': case1,
        'case2': case2,
        'case3': case3,
        'default': default
    }

# 调用case1方法
switch.get('case1', default)()

# 调用default方法
switch.get('case4', default)()

输出结果如下:

case 1
default

该示例中,我们定义了四个方法,分别对应switch语句中的各个case和default语句。然后我们定义了一个字典switch,将case和对应的方法关联起来。最后,通过get方法来获取字典中对应的方法并执行它。如果字典中不存在对应的key,则执行default方法。