无序的python
字典用于存储大量数据,字典要比列表快,将数据和数据之间进行关联code
lst=["刘德华","张学友","林俊杰","胡歌"] lst2=["帅","酷","厉害","好"] print(lst[0]+lst[0]) 结果 刘德华 帅
定义一个字典:索引
dic={"宋佳":男,"分数":80,"性格":"爱笑"} 字典中每个逗号分割叫一个元素"宋佳”是一个键:男是一个值--键值对 dic={"宋佳":"男","分数":80,"性格":"爱笑"} print(dic) 结果 {'宋佳': '男', '分数': 80, '性格': '爱笑'}
字典的键:字符串
可哈希的--不可变的数据类型--避免哈希冲突使用了 开放寻址法get
不可哈希的--可变的数据类型it
字典的值能够任意,字典的键要求惟一 若是有重复后面的值将会覆盖前面的值 字典是可变的类型数据 能够修改io
暴力添加for循环
2.setdefaultclass
dic={"宋佳":"男","分数":80,"性格":"爱笑"} 1.暴力添加 dic["喜爱"]="唱跳" print(dic) 结果 {"宋佳":"男","分数":80,"性格":"爱笑","喜爱":"唱跳"} ## dic[键]=[值] 2.setdefault dic.setdefault("喜爱","唱跳") 键 值 这个键去字典查询,若是不存在 就添加 ;存在 就不添加
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())
```python
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)
```不可变数据类型/可变数据类型 数据类型 可变/不可变 整型 不可变 字符串 不可变 元组 不可变 列表 可变 集合 可变 字典 可变