Python3基础学习----字典

字典定义创建

key:value 键值对的方式,使用大括号“{}”,而key不可重复;key必须是不可变对象

>>> a = {"a":1,"b":2}
>>> type(a)
<class 'dict'>
>>> a = dict(a=1,b=2,b=3)
SyntaxError: keyword argument repeated
>>> a = dict(a=1,b=2,c=2)
>>> type(a)
<class 'dict'>
>>> a = dict([("a",1),("b",2)])
>>> a
{'a': 1, 'b': 2}
取值、修改与长度

len(字典)获取的键值对的个数

>>> a = dict(a=1,b=2,c=2)
>>> a["a"]
1
>>> len(a)
3
>>> a["c"]=3
>>> a
{'a': 1, 'b': 2, 'c': 3}
>>> a
{'a': 1, 'b': 2}
>>> a["d"]
Traceback (most recent call last):
  File "<pyshell#84>", line 1, in <module>
    a["d"]
KeyError: 'd'
>>> a.get("d")
>>> a.get("d",0)
0
>>> 
检查key是否存在

只能用于判断是否存在对应的key 而不能判断是否存在对应value

>>> "a" in a
True
使用get set 取值与设置默认值

使用get取值若key不存在时不会报错,而且可以指定返回的默认值;setdefault方法,设置默认值,若key不存在则插入,且可指定插入默认值,若key存在不会更改原有的值

>>> a.get("d")
>>> a.get("d",0)
0
>>> a.setdefault("d")
>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None}
>>> a.setdefault("d",4)
>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None}
>>> a.setdefault("e",5)
5
>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None, 'e': 5}
字典拼接或者增加键值对–update

update可以是另一个字典,也可以是一个元组数组

>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None, 'e': 5}
>>> b = {"f":"new"}
>>> a.update(b)
>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None, 'e': 5, 'f': 'new'}
>>> a.update([("g","a")])
>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None, 'e': 5, 'f': 'new', 'g': 'a'}
>>> 
字典删除键值对

del删除键值对时若不存在会报错,同样的pop方法也是,但是pop方法可以设置默认值,即在对应key不存在时删除返回的值;popitem()默认删除最后一个;

>>> a
{'a': 1, 'b': 2, 'c': 3, 'd': None, 'e': 5, 'f': 'new', 'g': 'a'}
>>> del a["a"]
>>> a
{'b': 2, 'c': 3, 'd': None, 'e': 5, 'f': 'new', 'g': 'a'}
>>> del a["aaa"]
Traceback (most recent call last):
  File "<pyshell#107>", line 1, in <module>
    del a["aaa"]
KeyError: 'aaa'
>>> a.pop("d")
>>> a
{'b': 2, 'c': 3, 'e': 5, 'f': 'new', 'g': 'a'}
>>> a.pop("aaa")
Traceback (most recent call last):
  File "<pyshell#108>", line 1, in <module>
    a.pop("aaa")
KeyError: 'aaa'
>>> a.pop("aaa","bbb")
'bbb'
>>> a
{'b': 2, 'c': 3, 'e': 5, 'f': 'new', 'g': 'a'}
>>> a.popitem()
('g', 'a')
>>> a
{'b': 2, 'c': 3, 'e': 5, 'f': 'new'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值