Python-数据类型-字典

数据类型-字典

字典也是python最常用的数据类型之一,不同与list或者str,字典的定义是以键值对,键和值之间用:分隔,多个键值对用 , 分隔,通常是由不可变类型,列表不可以作为键,创建的方式是以一对{}

1. 特点

  • 字典中的键是唯一的: 如果由重复,后面的键会覆盖之前的
  • python3.6以前字段是无序的,3.6之后是有序的
  • 字典不支持索引切片
  • 字典为可变类型

示例

# 创建有值的字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
dict2 = dict(name='tome',age=20, gender='male')

# 空字典
dict3 = {}
dict4 = dict()
一般称冒号前面的为 键(key),简称 k冒号后面的为值 (value),简称 v

2. 字典的常见操作

2.1 增

字典中的就是为字典添加键值对,
语法

  • 字典序列[key] = 值
如果 key存在修改这个key对应的值;如果 key不存在 新增此键值对

示例

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

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

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

3.2 删

  • del:删除字典或删除字典中指定键值对

示例

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

del dict1['gender']

print(dict1)
# 结果:{'name': 'Tom', 'age': 20}
  • clear():清空字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

dict1.clear()
print(dict1) 
# 结果: {}

3.3 改

语法

  • 字典序列[key] = 值
如果 key存在修改这个key对应的值;如果 key不存在 新增此键值对

3.4 查

3.4.1 按 key 查找
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

print(dict1['name']) 
# 结果: Tom

print(dict1['id'])
# 结果: 报错
如果 key不存在字典中,程序抛出异常 KeyError: key
3.4.2 get()

语法

  • 字典序列.get(key, 默认值)
如果当前查找的 key不存在返回第二个参数(默认值),如果 省略第二个参数,则返回 None,这样的好处是 程序不会抛异常
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

print(dict1.get('name')) 
# 结果: Tom

print(dict1.get('id', 110))
# 结果: 110

print(dict1.get('id')) 
# 结构: None
3.4.3 keys()

语法

  • 字典序列.keys()

示例

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

print(dict1.keys()) 
# 结果: dict_keys(['name', 'age', 'gender'])
多搭配循环使用, 返回一个 list, 里面存放的是当前 dict的所有k key
3.4.4 values()

语法

  • 字典序列.values()

示例

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

print(dict1.values())
# 结果: dict_values(['Tom', 20, '男'])
多搭配循环使用, 也是返回一个 list, 里面存放的是当前 dict的所有 value
3.4.5 items()

语法

  • 字典序列.items()

示例

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

print(dict1.items()) 
# 结果: dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
多搭配循环使用,返回也是一个 list, 里面是以 元祖 的形式存放 dictkeyvalue

4.常见的集中字典循环遍历

4.1 遍历字典中的 key

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

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

4.2 遍历字典的value


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

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

4.3 遍历字典的元素

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

for key, value in dict1.items():
    print(f'{key} = {value}')

你可能感兴趣的:(python)