29-字典

## 一、字典的应用场景

---

思考1:如果有多个数据,例如:‘Tom’,‘男’,20,如何快速存储

答:列表

```
list1 = ['Tom','男',20]
```

思考2:如何查找到数据‘Tom’?

答:查找到下标为0的数据即可。

```
list1[0]
```

思考3:如果将来苏杭韩剧顺序发生变化,如下图所示,还能用list1[0]访问到数据‘Tom’吗?

```
list1 = ['男',20,'Tom']
```

答:不能,数据Tom此时的下标为2

思考4:数据顺序发生变化,每个数据的下标也会随之发生变化,如何保证数据顺序变化前后能使用同一标准查找数据呢?

答:字典,字典里的数据是以键值对形式出现,字典数据和数据顺组没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

## 二、创建字典的语法

---

字典特点:

- 符号为大符号
- 数据为键值对的形式出现
- 各键值对之间用逗号隔开

```python
# {} 键值对 各个键值用逗号隔开

# 1.有数据的字典

dict1 = {'name':'Tom','age':'20','gender':'男'}
print(dict1)
print(type(dict1))

# 2.创建空字典

dict2 = {}

dict3 = dict()
```

- 注意:一般称冒号前面的为键(key),简称k:冒号 后面的为值,简称y

## 三、字典的常见操作

---

### 3.1 增

---

写法:字典序列[key] = 值

- 注意:如果key存在修改这个key对应的值;如果key不存在则新增此键值对

```
dict1 = {'name':'Tom','age':'20','gender':'男'}

dict1['name'] = 'Rose'
dict1 = {'name':'Rose','age':'20','gender':'男'}
print(dict1)

dict1['id'] = 110

# dict1 = {'name':'Rose','age':'20','gender':'男','id':110}
print(dict1)
```

- 注意:字典为可变数据类型

### 3.2 删

---

- del()/del:删除字典或删除字典中指定键值对。

```python
dict1 = {'name':'Tom','age':'20','gender':'男'}

# del 删除字典或指定键值对

# del dict1['gender']
# print(dict1)
```

- clear():清除字典

```python
# clear()
# dict1.clear()
# print(dict1)
```

### 3.3 改

---

写法:字典序列[key] = 值

- 注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。

```
dict1 = {'name':'Tom','age':'20','gender':'男'}

# dict1['name'] = 'Rose'
# print(dict1)
#
# dict1['id'] = 110
# print(dict1)

# 数据存在则修改数据,数据不存在则新增数据
```

### 3.4查

---

### 3.4.1 key 值查找

```
dict1 = {'name':'Tom','age':'20','gender':'男'}

print(dict1['name']) # Tom
print(dict1['id']) # 报错
```

- 如果当前查找的key存在,则返回对应的值,否则报错。

### 3.4.2 get()(函数的方法)

- 语法

```
字典序列.get(key,默认值)
```

- 如果:当前查找到key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

- 快速体验

```
dict1 = {'name':'Tom','age':'20','gender':'男'}

# 2.函数
print(dict1.get('name')) # Tom
print(dict1.get('id','110')) # 110
print(dict1.get('id')) # None
```

### 3.4.3 keys()

```
# 2.2keys() 查找字典中所有的key,返回可迭代对象
# print(dict1.keys())
```

### 3.4.4 values()

```
# 2.3values() 查找字典中所有的values,返回可迭代对象
print(dict1.values())
```

3.4.5 items()

```
# 2.4 items() 查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值
print(dict1.items())
```

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值