1 2 3 4

字典

小知识

join()#拼接符.join(可迭代对象)

字典——dict 无序的,可变的

存储大量数据,字典比列表要快,将数据和数据之间进行关联

定义一个字典

dic = {"长鑫":10,"李卫":80, "张宇":100}#逗号分割是一个元素   键:长鑫  值 :10——键值对

字典的键:

必须是可哈希的——不可变的数据的类型——避免了哈希冲突,使用了开放寻址法

可哈希的——不可变的数据的类型

不可哈希的——可变的数据的类型

要求唯一:如果有重复的,后边的值将前边的值覆盖

字典的值:

可以任意数据类型

字典的增加:

暴力添加:

dic = {"长信":10}
dic["ss"] = 20

setdefault()

dic.setdefault("lwh",100)
#1.拿着键去字典中查询,如果不存在执行添加,如果存在就不添加了

字典的删除:

del #通过字典的键删除键值对

dic = {"长信":10}
del dic["长信"]

pop #通过字典的键删除键值对,有返回值,返回的是被删除的值

dic = {"长信":10,"ccc":1}
dic.pop("长信")

clear# 清空字典

字典的改:

dic={"长信":10,"ss":10}
dic["ss"] = 100#字典中没有键值对是添加,有就修改

update()——括号中的字典级别高于update前边的字典

dic={"长信":10,"ss":10}
dic1={"ss",100,1:"das"}
dic.update({"ss",100,1:"das"})

字典的查:

for—— 循环获取的的是字典中的键

dic={"长信":10,"ss":10}
for i in dic:
    print(i)

get()——通过键获取值,如果建不存在字典中,存在放回见对应的值,不存在返回None

dic={"长信":10,"ss":10}
print(dic.get("ss"))

print(dic["ss"])#通过键获取值,如果不存在报错

其他操作:

dic={"长信":10,"ss":10}
for i in dic:
    print(i,dic.get(i))

keys()——获取字典中的所有的键,存放在一个高仿列表中

dic = {"changxin":1,"ccc":None}
print(dic.keys())
结果:
dict_keys(['changxin', 'ccc', 'a'])高仿列表——支持for循环不支持索引

values()——获取字典中所有的值,存放在一个高仿列表中

dic = {"changxin":1,"ccc":None}
print(dic.values())
结果
dict_values([1, None])

items()——获取字典中的所有的键值对,以元组形式存放在一个高仿列表中

dic = {"changxin":1,"ccc":None}
print(dic.values())
结果:
dict_items([('changxin', 1), ('ccc', None)])

解构:

a, b= 10,12#本质上是一个元组
print(a)
print(b)
a,b=b,a
print(a)
print(b)
结果:
10
12
12
10
a,b=[1,2]
print(a,b)
a,_,b=(1,2,3)#等号后边的值要与前边一一对应
print(a,b)
结果:
1 2
1 3


a,b="12"
print(a,b)
a,b={1:"12",2:"22"}
print(a,b)

结果:
1 2
1 2


dic = {"changxin": 1, "ccc": None}
for k, v in dic.items():
    print(k, v)#循环获取字典的每一个键和值
for i in dic.items():
    print(i)
结果:
changxin 1
ccc None
('changxin', 1)
('ccc', None)

字典的嵌套:

查找的时候一层一层的通过键查找

dic = {1001:["周杰伦","林俊杰",],
       1002:{"汪峰":{"前妻":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
       1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
      1004:{"韦小宝":[{"教主夫人":"教主"},{"阿珂","刺客"},{"双儿":"天地会"},{"爱新觉罗":"建宁"},]},
      1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖"]}
       }

posted @ 2019-07-10 13:43  学霸君主  阅读(154)  评论(0编辑  收藏  举报