Python字典(dictionary)是一种无序的、可变的数据结构,用于存储键值对(key-value pairs)。每个键都是唯一的,而值可以是任何数据类型,包括列表、元组、字典等
1.创建字典
dic = dict()
2.添加字典元素
dic['one'] = "小王"
dic['two'] = "小李"
print(dic)
# 打印 {'one': '小王', 'two': '小李'}
3.修改
方法一; 此时字典里已经有了key(one,two)值在执行就是修改了
dic['one'] = "王明"
方法二;setdefault()设置默认值,如果之前已经有key值,则setdefault()不起作用
dic.setdefault('three','小赵')
print(dic)
# dic.setdefault('one','小赵') # 不起作用应为原字典中key = one 已经有了对应的value值
4.删除pop()
dic.pop('three') # 根据key删除
print(dic)
5.查询(**)
print(dic['one']) # 如果key不存在程序会报错不够友好
print(dic.get('one')) # 如果key不存在程序不h报错会返回None,None表示空可
# 示例
dic = {
'西游记': '有这本书',
'三国': '有这本书,在。。。。',
'水浒': '有这本书'
}
name = input("请输入书名")
val = dic.get(name)
if val is not None:
print(val)
else:
print("还没有这本书哦~~~~~~")
6.循环
dic = {
'西游记': '这本书在二楼',
'三国': '有这本书,在。。。。',
'水浒': '有这本书,这本书在一楼'
}
# # 1.for循环 直接拿到key
for key in dic:
print(key, dic[key])
# # 2.希望把有的key都放到一个列表中
print(list(dic.keys()))
# # 2.1.希望把有的value都放到一个列表中
print(list(dic.values()))
# 3 直接拿到key和value
# for item in dic.items():
# a, b = item # a,b = ('key','value') 这步骤叫做解包,元组或列表都可以执行
# 更具上一步操作可以简化为
for key, value in dic.items(): # 可以直接拿到字典的key和value
print(key, value)
# a, b = (1, 2) # 元组解包
# print(a)
# print(b)
7.字典的循环删除(类似与列表)
# 删除
dic = {
'西游记': '这本书在二楼',
'三国': '有这本书,在。。。。',
'水浒': '有这本书,这本书在一楼',
'老人与海': '没有这本书'
}
# 删除开头有老字的本书
temp = [] # 准备一个空列别表用来存放要删除的数据
for key in dic:
if key.startswith('老'):
temp.append(key)
for t in temp:
dic.pop(t)
print(dic)
8.字典的复制
# 使用copy()方法复制字典
copied_dict = dic.copy()
# 使用切片操作复制字典(浅复制)
another_copied_dict = {key: value for key, value in dic.items()}
9.清空字典
dic.clear() # 清空字典