Python 创建字典

Python 创建字典

Python 中,字典(Dictionary)是一种非常常用的数据结构,它是可变的、无序的键值对集合。键是唯一的,值可以重复。字典有许多用途,例如存储设置、用户数据、配置选项、日志、状态等等。

创建字典

我们可以使用花括号 {} 来创建一个空字典,或者使用 dict() 函数来创建一个空字典。我们可以在花括号中使用一系列对 keyvalue 的定义,用逗号来分隔,其中 : 是冒号。例如:

empty_dict = {}
print(empty_dict)  # 输出 {}

user_info = {'name': 'Lucas', 'age': 27, 'gender': 'male'}
print(user_info)   # 输出 {'name': 'Lucas', 'age': 27, 'gender': 'male'}

user_info2 = dict(name='Lucas', age=27, gender='male')
print(user_info2)  # 输出 {'name': 'Lucas', 'age': 27, 'gender': 'male'}

上面的代码创建了两个字典:empty_dict 是空字典,user_infouser_info2 都是非空字典。其中,user_infouser_info2 本质是一样的,只是写法不同。

另外,我们还可以将两个列表或元组转换成字典。其中第一个列表或元组定义了字典的 key,第二个列表或元组定义了字典的 value。例如:

keys = ['name', 'age', 'gender']
values = ['Lucas', 27, 'male']

user_info3 = dict(zip(keys, values))
print(user_info3)  # 输出 {'name': 'Lucas', 'age': 27, 'gender': 'male'}

上面的代码创建了一个字典 user_info3,它的 key 是由 keys 列表定义的,value 是由 values 列表定义的。zip() 函数将 keysvalues 打包成一个可迭代对象,然后 dict() 函数将其转换为字典。

字典操作

字典有许多操作,包括添加、修改、查询、删除、遍历等。

添加元素

我们可以通过键名来添加元素。如果字典中不存在该键,则添加一个新键值对,如果该键已经存在,则更新其对应的值。例如:

user_info4 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

user_info4['email'] = 'lucas@example.com'  # 添加一个新键值对
print(user_info4)  # 输出 {'name': 'Lucas', 'age': 27, 'gender': 'male', 'email': 'lucas@example.com'}

user_info4['age'] = 28  # 更新键值对
print(user_info4)  # 输出 {'name': 'Lucas', 'age': 28, 'gender': 'male', 'email': 'lucas@example.com'}

查询元素

我们可以通过键名来查询元素。如果字典中不存在该键,则会报错。为了避免这种情况,我们可以使用 get() 方法。例如:

user_info5 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

print(user_info5['name'])   # 输出 Lucas
print(user_info5['email'])  # KeyError: 'email'

print(user_info5.get('name'))   # 输出 Lucas
print(user_info5.get('email'))  # 输出 None

get() 方法中,如果键不存在,则返回 None。我们还可以指定一个默认值,例如:

user_info6 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

print(user_info6.get('email', 'default@example.com'))  # 输出 default@example.com

删除元素

我们可以通过键名来删除元素。如果字典中不存在该键,则会报错。为了避免这种情况,我们可以使用 pop() 方法。例如:

user_info7 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

user_info7.pop('gender')  # 删除键为 'gender' 的元素
print(user_info7)  # 输出 {'name': 'Lucas', 'age': 27}

user_info7.pop('email', None)  # 删除不存在的键 'email',不会报错
print(user_info7)  # 输出 {'name': 'Lucas', 'age': 27}

pop() 方法中,如果键找不到,则会抛出一个异常。我们可以指定一个默认值,例如:

user_info8 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

user_info8.pop('email', 'default@example.com')  # 删除不存在的键 'email',返回指定的默认值
print(user_info8)  # 输出 {'name': 'Lucas', 'age': 27, 'gender': 'male'}

我们也可以使用 del 关键字来删除元素。例如:

user_info9 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

del user_info9['gender']  # 删除键为 'gender' 的元素
print(user_info9)  # 输出 {'name': 'Lucas', 'age': 27}

遍历元素

我们可以使用 for ... in 循环来遍历字典中的所有元素,或者使用 items() 方法来获取所有元素的键值对,使用 keys() 方法来获取所有键,使用 values() 方法来获取所有值。例如:

user_info10 = {'name': 'Lucas', 'age': 27, 'gender': 'male'}

for key in user_info10:
    print(key, user_info10[key])

# 输出:
# name Lucas
# age 27
# gender male

for key, value in user_info10.items():
    print(key, value)

# 输出:
# name Lucas
# age 27
# gender male

for key in user_info10.keys():
    print(key)

# 输出:
# name
# age
# gender

for value in user_info10.values():
    print(value)

# 输出:
# Lucas
# 27
# male

字典推导式

除了使用常规方式创建字典,我们还可以使用字典推导式。字典推导式是一种简洁高效的方式来创建字典。例如:

keys = ['name', 'age', 'gender']
values = ['Lucas', 27, 'male']

user_info11 = {keys[i]: values[i] for i in range(len(keys))}
print(user_info11)  # 输出 {'name': 'Lucas', 'age': 27, 'gender': 'male'}

上面的代码使用 keys 列表的每个元素作为键,使用 values 列表的每个元素作为值,创建了一个字典 user_info11

结论

Python 中,字典是一种非常常用的数据结构,它可以存储键值对信息,使用简单方便。我们可以通过常规方式或字典推导式来创建字典,使用键名来添加、查询、删除、遍历元素。字典在数据处理、配置管理、日志记录等方面有广泛应用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程