python字典笔记 专家看了都说好

字典:当索引不好用时

创建字典的三种方式

{键:值,键:值}

键(key)

值(value)

字典是映射类型

字符串 数组 元组 是序列类型

zd={"陈淑钰":"很帅","钰钰":"吴彦祖","小钰钰":"大帅哥"}##陈淑钰键 ##很帅 值
print("钰钰是",zd["钰钰"])##钰钰是 吴彦祖
pm={1:"一",2:"二",3:"三"}
print(pm[1])##一

创建空字典

kj={}

dict()创建字典

dict是一个工厂函数 类型

()里面只能有一个参数

可以用列表 或者元组 伪装成一个参数

列表=[("陈淑钰喜欢的","黑丝"),("钰钰喜欢的","白丝"),("陈淑钰比较喜欢的","渔网")]
##元组同理
wz=dict((("陈淑钰喜欢的","黑丝"),("钰钰喜欢的","白丝"),("陈淑钰比较喜欢的","渔网")))
print(wz["陈淑钰喜欢的"],"是陈淑钰想看的")

##黑丝 是陈淑钰想看的
kh=dict(黑丝="让色情永不停息",小甲鱼="让编程改变世界")
print(kh)
##{'黑丝': '让色情永不停息', '小甲鱼': '让编程改变世界
print(kh["黑丝"])
##让色情永不停息

直接给键赋值

改写字典

如果键在这个字典是存在的 则是改写这个键的值

否则就直接创建新的键并给他赋值

kh=dict(黑丝="让色情永不停息",小甲鱼="让编程改变世界")
print(kh)
##{'黑丝': '让色情永不停息', '小甲鱼': '让编程改变世界'}
kh["黑丝"]="让鼻血血流不止"
print(kh)
##{'黑丝': '让鼻血血流不止', '小甲鱼': '让编程改变世界'}
print(kh)
kh["秦将"]="再小的帆也能远航"

##{'黑丝': '让鼻血血流不止', '小甲鱼': '让编程改变世界', '秦将': '再小的帆也能远航'}

添加字典

setdefult()
pm01= {1: "一", 2: "二", 3: "三"}
pm01.setdefault(4)
print(pm01)

##{1: '一', 2: '二', 4: None}
pm01.setdefault(5,"五")
print(pm01)
##{1: '一', 2: '二', 4: None, 5: '五'}
update()

通过字典或者映射关系 更新另一个字典

pm01={1: '一', 2: '二', 4: None, 5: '五'}
b={6:"六"}
pm01.update(b)
print(pm01)

fromkeys(…)

创建并返回新的字典

dict.fromkeys(s[v])

s=键 v=值 v为空的时候 默认 None

srf=dict.fromkeys((1,2,3))
print(srf) v为空的时候 默认 None

##{1: None, 2: None, 3: None}

v是一个参数 默认为s的值

srf01=dict.fromkeys((1,2,3),"钰钰很帅")
print(srf01)

##{1: '钰钰很帅', 2: '钰钰很帅', 3: '钰钰很帅'}

srf01=dict.fromkeys((1,2,3),("钰钰很帅","钰钰非常帅"))
print(srf01)
##{1: ('钰钰很帅', '钰钰非常帅'), 2: ('钰钰很帅', '钰钰非常帅'), 3: ('钰钰很帅', '钰钰非常帅')}

fromkeys不能改下字典

srf01=dict .fromkeys((1,2,3),("钰钰很帅","钰钰非常帅"))
print(srf01)

##{1: ('钰钰很帅', '钰钰非常帅'), 2: ('钰钰很帅', '钰钰非常帅'), 3: ('钰钰很帅', '钰钰非常帅')}

srf02=srf01.fromkeys((2,3),("吴彦祖","钰钰"))
print(srf02)

##{2: ('吴彦祖', '钰钰'), 3: ('吴彦祖', '钰钰')}

fromkeys不能改下字典 而是创建了一个字典

访问字典

keys 键

用法 键名字.keys

一般用于 for

srf03=dict.fromkeys(range(30),"钰钰")
print(srf03)
for srk in srf03.keys():
    print(srk)
    ##输出0-29键的值

values 值

用法 键名字.values

一般用于 for

srf03=dict.fromkeys(range(30),"钰钰")
for srv in srf03.valuesi():
    print(srv)
    ##将所以键的值打印出来

items 项

用法 键名字.items

一般用于 for

srf03=dict.fromkeys(range(30),"钰钰")
for sri in srf03.items():
    print(sri)
##将字典里的项 以元组的形式打印出来
(0, '钰钰')
..........
(29, '钰钰')

判断是否有值

get

判断字典里是否有的项

print(srf03.get(32))

如果没有则输出None

print(srf03.get(21,"没有"))

如果没有则输出没有

in 于not in

in 与 not in 是用来作为逻辑判断的另一种方式。

in 右侧的内容里,是否包含了左侧的内容。 包含返回真,不包含返回假。

not in 右侧的内容里是否不包含左侧的内容。不包含返回真,包含返回假。

in
x=22 in srf03
print(x)
##有则True
##无则False
not in
x=32 not in srf03
print(x)

清空字典

clear

用法 键名字.clear()

pm = {1: "一", 2: "二", 3: "三"}
pm.clear()
print(pm)
##{}

拷贝字典

浅拷贝 copy

用法 键名字.copy

pm = {1: "一", 2: "二", 3: "三"}
pm01=pm.copy()
print(pm01)

pop弹出值

用法 键名字.pop(里加键)

pm = {1: "一", 2: "二", 3: "三"}

print(pm01.pop(3))
##三
print(pm)
##{1: '一', 2: '二'}

popitem弹出项

随机删一个项

pm01 = {1: "一", 2: "二", 3: "三"}
print(pm01.popitem())
print(pm01)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值