稍微比较全的那种字典
Posted qqmb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了稍微比较全的那种字典相关的知识,希望对你有一定的参考价值。
字典
无序的
字典用于存储大量数据,字典要比列表快,将数据和数据之间进行关联
lst=["刘德华","张学友","林俊杰","胡歌"]
lst2=["帅","酷","厉害","好"]
print(lst[0]+lst[0])
结果
刘德华 帅
定义一个字典:
dic="宋佳":男,"分数":80,"性格":"爱笑"
字典中每一个逗号分割叫一个元素"宋佳”是一个键:男是一个值--键值对
dic="宋佳":"男","分数":80,"性格":"爱笑"
print(dic)
结果
‘宋佳‘: ‘男‘, ‘分数‘: 80, ‘性格‘: ‘爱笑‘
字典的键:
可哈希的--不可变的数据类型--避免哈希冲突使用了 开放寻址法
不可哈希的--可变的数据类型
字典的值可以任意,字典的键要求唯一 如果有重复后面的值将会覆盖前面的值 字典是可变的类型数据 可以修改
增
-
暴力添加
2.setdefault
dic="宋佳":"男","分数":80,"性格":"爱笑"
1.暴力添加
dic["喜好"]="唱跳"
print(dic)
结果
"宋佳":"男","分数":80,"性格":"爱笑","喜好":"唱跳"
## dic[键]=[值]
2.setdefault
dic.setdefault("喜好","唱跳")
键 值
这个键去字典查询,如果不存在 就添加 ;存在 就不添加
删
- del通过字典键 删除键值对
- pop 通过字典的键 删除键值对 返回值:返回的是被删除的值
- clear 清空 清空字典
dic="宋佳":"男","分数":80,"性格":"爱笑"
del.dic["喜好"] #删除键 删除键值对
dic="宋佳":"男","分数":80,"性格":"爱笑"
dic.pop("分数") #删除键 达到删除键值对效果
dic="宋佳":"男","分数":80,"性格":"爱笑"
dic.clear() #清空列表
改
dic="宋佳":"男","分数":80,"性格":"爱笑"
dic["分数"]=60
# 字典中没有某个键值的时候就是添加 当键在字典中存在就是修改
有则改 无则加
update: 更新
dic="宋佳":"男","分数":80,"性格":"爱笑"
dic.update(dic)
# uodate括号中的字典级别高于update前面的字典
查
dic="宋佳":"男","分数":80,"性格":"爱笑"
for i in dic
print(i)
# 循环获取的是字典中每个键值对的键
get
print(dic.get("宋佳"))
# 通过键获取值 ,如果不存在字典中返回None 不存在就会报错
存在就是显示
其他操作:
dic="宋佳":"男","分数":80,"性格":"爱笑"
print(dic.keys()) #高仿列表--dict keys([‘宋佳‘分数‘,‘性格‘]) 获取的是键
print(dic.values()) 获取的是键
for i in dic:
print(i) #获取的是键
print(i,dic.get(i))# 获取所有键和值
## 高仿列表支持for循环 不支持索引 :
for i in dic.keys():
print(i)
print(i,dic.get(i))
print(del.keys()[0])
#vluse获取字典所有的值 keys获取所有键 items获取的是键和值
print(dic.items())
解构
a,b=10,20
a,b=b,a
print(a,b)
结果
a=20
b=10
a,_,b=(3,4,5)
print(a,b)
a=3
b=5 #等号后面的值和前面的变量名要一一对应
a=10,12 #本质就是一个元组
print(a)
(10,12)
a,b=1:"a",2:"b"
print(a,b)
1 2
a,b="23"
print(a,b)
2 3
###
keys--获取字典中所有的键 存放在一个高仿列表中
values--获取字典中所有的值 存放在一个高仿列表中
items --获取字典中所有的键和值 存放在一个高仿列表里的元祖
#!!!获取每个元素的键和值
for k,v in dic.items():
print(k,v)
以上是关于稍微比较全的那种字典的主要内容,如果未能解决你的问题,请参考以下文章