python(五)字典

目录

一、创建

1.1 直接创建

1.2 使用dict()初始化

1.3 列表是元组的集合,且元组均为两个元素。

二、字典是可变对象

三、一般对字典进行操作是对key值进行操作

四、读取方法

4.1 直接读取的方法

4.1.1 d ['key']

4.1.2 d.get('key')

4.2 setfault()

 五、增加字典中的键值对 update()

5.1 直接传入键值对

5.2 将其他字典作为参数添加到本字典中

六、删除

6.1 del

6.2 pop

6.3 popitem


一、创建

字典中存放的是映射关系,key-value。

'name':'xiaow' , 'age' : '23'

其中key的值必须是不可变对象,例如:数字,字符串,元组。

1.1 直接创建

d = {'name':'xiaow' , 'age' : '23'}

1.2 使用dict()初始化

d = dict(name = 'xiaow' ,age = 23)

用 k = v 方法初始化时,k 默认是字符串。

1.3 列表是元组的集合,且元组均为两个元素。

lst  = [('name','xiaow'),('age',23)]

d = dict(lst)

二、字典是可变对象

不可变对象:数字,字符串,元组

可变对象:列表,字典

三、一般对字典进行操作是对key值进行操作

比如:in,del 方法等等

四、读取方法

4.1 直接读取的方法

4.1.1 d ['key']

d = {'name':'xiaow','age':23}
print(d['name'])

输出:

xiaow

当不存在该key值时,报错

d = {'name':'xiaow','age':23}
print(d['gander'])

输出:

KeyError: 'gander'

4.1.2 d.get('key')

d = {'name':'xiaow','age':23}
print(d.get('name'))

输出:

xiaow

 当不存在该key值时,返回None。

d = {'name':'xiaow','age':23}
print(d.get('gander'))

输出:

None

 可添加参数使返回值为参数值。但是字典没有被修改。

d = {'name':'xiaow','age':23}
print(d.get('gander','male'))
print(d)

输出:

male
{'name': 'xiaow', 'age': 23}

4.2 setfault()

查询,若字典中存在key值,返回。存在参数也不会进行插入或修改操作

如果字典中没有,会将将key=None插入字典。None可通过参数修改。

d = {'name':'xiaow','age':23}
print(d.setdefault('name','xioap'))

输出:

xiaow

 无参,默认插入None

d = {'name':'xiaow','age':23}
print(d.setdefault('gander'))
print(d)

输出:

None
{'name': 'xiaow', 'age': 23, 'gander': None}

有参,value值为参数值

d = {'name':'xiaow','age':23}
print(d.setdefault('gander','male'))
print(d)

输出:

male
{'name': 'xiaow', 'age': 23, 'gander': 'male'}

 五、增加字典中的键值对 update()

5.1 直接传入键值对

以元组嵌套列表的方式传参,键值对放在元组里

d = {'name':'xiaow','age':23}
d.update([('grand','male')])
print(d)

输出:

{'name': 'xiaow', 'age': 23, 'grand': 'male'}

可以是多组

d = {'name':'xiaow','age':23}
d.update([('grand','male'),('state','学习')])
print(d)

输出:

{'name': 'xiaow', 'age': 23, 'grand': 'male', 'state': '学习'}

5.2 将其他字典作为参数添加到本字典中

d = {'name':'xiaow','age':23}
d1 = dict([('grand','male'),('state','学习')])
d.update(d1)
print(d)

输出:

{'name': 'xiaow', 'age': 23, 'grand': 'male', 'state': '学习'}

六、删除

6.1 del

del [key] :删除对应的key-value,不返回值。

d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
del d['state']
print(d)

输出:

{'name': 'xiaow', 'age': 23, 'grand': 'male'}

6.2 pop

dict.pop(key)删除key,并返回value。若key不在字典中,报错。

d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
d.pop('state')
print(d)

输出:

{'name': 'xiaow', 'age': 23, 'grand': 'male'}

 dict.pop(key,value) 删除key,若key不在字典中,返回value。

d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
print(d.pop('st','字典中不存在该key'))

输出:

字典中不存在该key

6.3 popitem

d.popitem() 删除字典中最后一个K-V,并返回k-v值。

python 3.6版本以后 字典是有顺序的。

d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
print(d.popitem())

输出:

('state', '学习')

                                     

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值