Python创建字典

Python创建字典

在Python中,字典是一种可变的容器模型,用来存储任意类型的对象,其元素是键-值对。字典使用大括号 {} 来定义,每个元素由一个键和值组成,键和值之间使用冒号 : 进行分隔,不同的键-值对使用逗号 , 分隔开。

比如,我们可以用字典来表示某个学生的信息:

student = {'name': '张三', 'age': 18, 'gender': '男', 'score': {'math': 90, 'chinese': 95, 'english': 85}}

以上代码定义了一个名为 student 的字典,其中包含四个键-值对:

  • 键为 name,值为 ‘张三’
  • 键为 age,值为 18
  • 键为 gender,值为 ‘男’
  • 键为 score,值为一个嵌套字典,表示学生的各科成绩

创建空字典

如果我们想要创建一个空字典,可以使用以下方式:

empty_dict = {}

或者使用 dict() 函数来创建:

empty_dict = dict()

添加元素

我们可以使用键来访问字典中的元素,如果该键不存在,则会抛出 KeyError 异常。

现在,我们来看一下如何向字典中添加新元素。我们可以通过以下方式来实现:

# 定义一个空的字典
person = {}

# 向字典中添加元素
person['name'] = '张三'
person['age'] = 18
person['gender'] = '男'

print(person)  # 输出:{'name': '张三', 'age': 18, 'gender': '男'}

以上代码定义了一个空字典 person,并依次向其中添加了三个键-值对。

修改元素

如果我们需要修改字典中的元素,可以通过指定其键名来进行。比如,下面的代码将修改 person 字典中的 age 值为 20:

person['age'] = 20
print(person)  # 输出:{'name': '张三', 'age': 20, 'gender': '男'}

删除元素

我们可以使用 del 或 pop 方法来删除字典中的元素。

使用 del 方法可以根据键名删除指定的键值对:

# 定义一个字典
person = {'name': '张三', 'age': 18, 'gender': '男'}

# 删除键为 gender 的键值对
del person['gender']

print(person)  # 输出:{'name': '张三', 'age': 18}

使用 pop 方法也可以删除指定的键值对,同时返回该键对应的值:

person = {'name': '张三', 'age': 18, 'gender': '男'}
gender_value = person.pop('gender')
print(person)  # 输出:{'name': '张三', 'age': 18}
print(gender_value)  # 输出:男

访问元素

我们可以使用指定的键来访问字典中的元素。如果该键不存在,则会抛出 KeyError 异常。

# 定义一个字典
person = {'name': '张三', 'age': 18, 'gender': '男'}

# 访问字典中的元素
print(person['name'])  # 输出:张三
print(person['age'])  # 输出:18
print(person['gender'])  # 输出:男

还可以使用 get 方法来访问字典中的元素。与使用中括号有所不同的是,如果该键不存在,则不会抛出异常,而是返回 None 或指定的默认值。

person = {'name': '张三', 'age': 18, 'gender': '男'}

# 访问字典中的元素
print(person.get('name'))  # 输出:张三
print(person.get('score'))  # 输出:None

get 方法还可以指定默认值。如果该键不存在,则返回指定的默认值。

```python
person = {'name': '张三', 'age': 18, 'gender': '男'}

# 访问字典中的元素
print(person.get('name', '默认值'))  # 输出:张三
print(person.get('score', '默认值'))  # 输出:默认值

遍历字典

我们可以通过循环来遍历字典中的所有元素。

person = {'name': '张三', 'age': 18, 'gender': '男'}

# 遍历字典中的键
for key in person:
    print(key)

# 遍历字典中的值
for value in person.values():
    print(value)

# 遍历字典中的键值对
for key, value in person.items():
    print(key, value)

运行以上代码,可以依次输出字典中的键、值和键值对。

字典方法

Python 中提供了许多有用的字典方法,如下所示:

clear 方法

用于清空字典中的所有元素。

person = {'name': '张三', 'age': 18, 'gender': '男'}
person.clear()

copy 方法

用于复制一个字典。

person = {'name': '张三', 'age': 18, 'gender': '男'}
person_copy = person.copy()

fromkeys 方法

用于创建一个新字典,其中指定的键对应的值都是默认值。

keys = ['name', 'age', 'gender']
person = dict.fromkeys(keys, '默认值')

以上代码创建了一个字典 person,其中包含三个键:name、age 和 gender,其对应的值都是默认值。

setdefault 方法

用于获取指定键对应的值。如果该键不存在,则设置其键值对,并返回默认值。

person = {'name': '张三', 'age': 18, 'gender': '男'}
name_value = person.setdefault('name', '无名氏')
score_value = person.setdefault('score', {'math': 90, 'chinese': 95, 'english': 85})

print(name_value)  # 输出:张三
print(score_value)  # 输出:{'math': 90, 'chinese': 95, 'english': 85}

以上代码使用 setdefault 方法获取了存在的键 ‘name’ 和不存在的键 ‘score’ 对应的值,并设置了键值对。

update 方法

用于更新字典中的元素。

person = {'name': '张三', 'age': 18, 'gender': '男'}
person_update = {'age': 20, 'score': {'math': 90, 'chinese': 95, 'english': 85}}
person.update(person_update)

print(person)  # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'score': {'math': 90, 'chinese': 95, 'english': 85}}

以上代码使用 update 方法更新了字典 person 中的元素,将键 ‘age’ 对应的值从 18 更新为 20,并添加了一个键值对,其中键为 ‘score’,值为一个字典。

结论

Python 中的字典是非常实用的数据结构,它可以用来存储任意类型的对象,并提供了丰富的操作方法。在日常开发中,常常会用到字典。掌握字典的使用方法,对于提高开发效率和代码质量有着非常重要的作用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程