Python基础(11) 字典

1 字典

dictionary (字典) 是 除列表以外 Python 之中 最灵活 的数据类型
字典同样可以用来 存储多个数据

  • 通常用于存储 描述一个 物体 的相关信息
  • 和列表的区别
    1.列表 是 有序 的对象集合
    2.字典 是 无序 的对象集合字典
  • 用 {} 定义字典
  • 使用 键值对 存储数据,
    1.键值对之间使用 , 分隔
    2.键 key 是下标
    3.值value 是数据
    键 和 值 之间使用 : 分隔
    键必须是唯一的
    可以取任何数据类型,但只能使用字符串、数字或 元组
xiaoming = {"name": "小明",
			"age": 18, 
			"gender": True,            
			"height": 1.75}
print(type(xiaoming))
<class 'dict'>

2 常用操作

2.1 字典增加

2.1.1 键值对增加与修改

字典是可变数据类型
如果key存在修改value值,如果key不存在则添加键值对

字典[key] = value
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
xiaoming['id'] = 20
print(xiaoming)  # {'name': '小明', 'age': 18, 'gender': True, 'height': 1.75, 'id': 20}

2.1.2 setdefault(key,value)

如果key存在不会修改数据,如果key不存在则添加键值对

字典.setdefault(key,value)
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
xiaoming.setdefault('id',120)
xiaoming.setdefault('taller',180)
print(xiaoming)  # {'name': '小明', 'age': 18, 'gender': True, 'height': 1.75, 'id': 20, 'taller': 180}

2.2 删除

2.2.1 del()函数

del(字典)
del 字典[key]
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
# del(xiaoming)
# print(xiaoming)  # 报错字典已被删除
del xiaoming["name"]
print(xiaoming)  # {'age': 18, 'gender': True, 'height': 1.75} name键值对被删除

2.2.2 clear()函数

清理字典变为空字典

字典.clear()
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
xiaoming.clear()
print(xiaoming)  # {} 空字典

2.3 字典查找

2.3.1 通过key查找

如果key值存在返回对应的value值,不存在则报错

xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
name = xiaoming["name"]
print(name)  # 小明
# name = xiaoming["生日"]
# print(name)  # 报错 不存在key值生日

2.3.2 get()函数

如果当前查找的key值不存在返回默认值,默认值缺省时返魂None

字典.get(key,默认值) 
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
print(xiaoming.get('name',25))  # 小明
print(xiaoming.get('id',25))  # 25

2.3.3 keys()函数

返回所有key列表

dict.keys()
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
print(xiaoming.keys())  # dict_keys(['name', 'age', 'gender', 'height'])

2.3.4 values()函数

返回所有value值的列表

字典.values() 
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
print(xiaoming.values())  #  dict_values(['小明', 18, True, 1.75])

2.3.5 items()函数

返回(key,value) 元组

dict.items() 所有(key,value)元组列表
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
print(xiaoming.items())  #  dict_items([('name', '小明'), ('age', 18), ('gender', True), ('height', 1.75)])

2.4 遍历字典

遍历字典中的key:

xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
for i in xiaoming.keys():
    print(i,end='\t')  # name	age	gender	height	

遍历字典中value:

xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
for j in xiaoming.values():
    print(j,end='\t')  # 小明	18	True	1.75

遍历字典中元素(键值对):

xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
for k in xiaoming.items():
    print(k,end='\t')  #('name', '小明')	('age', 18)	('gender', True)	('height', 1.75)

遍历键值对时进行拆包

'''
name	小明
age	18
gender	True
height	1.75
'''
xiaoming = {"name": "小明","age": 18,"gender": True,"height": 1.75}
print('')
for g in xiaoming.items():
    print(g[0],end='\t')
    print(g[1])

第二种写法,将返回值分别返回key和value

'''
name = 小明
age = 18
gender = True
height = 1.75
'''
for key,value in xiaoming.items():
    print(f'{key} = {value}')
发布了27 篇原创文章 · 获赞 5 · 访问量 488

猜你喜欢

转载自blog.csdn.net/qq_43685242/article/details/104744916