继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【2023年】第25天 字典常用方法

谦瑞
关注TA
已关注
手记 79
粉丝 8
获赞 8

一、字典常用方法
1.索引
在字符串,列表中都可以使用 [] 方法得到索引或者改变元素。
字典是没有索引的!
添加或者修改,根据key是否存在所决定的。
2.update()
把一个字典通过update方法添加到另一个字典中去
功能:添加新字典,如果新字典中有和原字典中相同的key,则该key的value会被新字典的value覆盖。
用法:dict.update(new_dict) – 该函数无返回值。
参数:new_dict表示要添加的新字典

dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'d': 4}
new_dict = dict1.update(dict2)

print(dict1)

3.setdefault()
功能:
获取某个key的value,如key不存在于字典中,将会添加key并将value设为默认值
用法:
dict.setdefault(key, value)
参数:
key 需要获取的key
value 如果key不存在,对应这个key存入字典的默认值
注意事项:
如果字典中的key已经存在了,那么参数value值并不会代替原有的value
字典中每一个key一定是唯一的
字典中的数据量没有限制
字典中的value可以是任何python的内置数据类型的对象和自定义的对象

dict1 = {'a': 1, 'b': 2}
value = dict1.setdefault('a', 3)
print(dict1, value)

value2 = dict1.setdefault('d', 4)
print(dict1, value2)

4.keys()
功能:
获取当前字典中所有的键(key)
用法:
dict.keys() ->无需传参,返回一个key集合的伪列表
返回的伪列表不具有列表的所有功能

dict1 = {'a': 1, 'b': 2, 'c': 3}
result = dict1.keys()
print(result)

# 使用list包装,使得返回的伪列表变为正真的列表
dlist = list(dict1.keys())
print(dlist)
print(type(dlist))
print(dlist[1])
dlist.append('d')
print(dlist)

5.values()
功能:
获取当前字典中所有键值对中的值(value)
用法:
dict.values() -> 无需传参,返回一个value集合的伪列表
伪列表不具备列表的所有功能

dict1 = {'a': 1, 'b': 2, 'c': 3}
result = dict1.values()
print(result)

6.get()
[]的获取方式:
字典+中括号内传key,不进行赋值操作,即为获取。
返回key对应的value

get的获取方式:
获取当前字典中指定key的value值
用法:
dict.get(key, default=None)
参数:
key:需要获取value的key.
default:key不存在则返回此默认值,默认是None,我们也可以进行自定义default值,可以是任意值。

[]与get的区别
[]如果获取的key不存在,则直接报错。
get如果获取的key不存在,则返回默认值。
所以开发中,优先使用get函数。

dict1 = {'a': 1, 'b': 2, 'c': 3}
result = dict1.get('a')
print(result)

7.clear() pop()
功能:
清空当前的字典中所有数据
用法:
dict.clear() -> 无参数,无返回值

字典函数:pop
功能:
删除字典中指定的key,并将其结果返回,如果key不存在则报错
用法:
dict.pop(key) --key希望被删掉的键
返回这个key对应的值(value)

dict1 = {'a': 1, 'b': 2, 'c': 3}

result2 = dict1.pop('a')
print(dict1, result2)

result1 = dict1.clear()
print(dict1, result1)

8.copy()
功能:
将当前字典复制到一个新的字典
用法:
dict.copy() -> 该函数无参数,返回一个一摸一样的,内存地址不同的字典

dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = dict1.copy()
print(dict2)

9.in not in
可以使用in not in 或者 get 判断是否存在
in 和 not in 是拿key去做判断。
get是拿 值去做判断

dict1 = {'a': 1, 'b': 2, 'c': 3}
print('a' in dict1)
print('a' not in dict1)

print(bool(dict1.get('a')))

10.popitem
功能:
删除当前字典里末尾一组键值对并将其返回
用法:
dict.popitem() --> 无需传参
返回被删除的键值对,用元组包裹0索引是key,1索引是value
注意事项:
如果字典为空,则直接报错

dict1 = {'a': 1, 'b': 2, 'c': 3}
result = dict1.popitem()
print(result)

11.summary
每一种数据类型,自身的值都有表示True 和 False
not 对于一切结果取反

a = 1
b = True
c = False
print(bool(a))
print(bool(not a))

print(b)
print(c)
print(not b)
print(not c)

二、总结
1.注意字典的方法常用的有增删改查。
2.字典是可变的。
3.字典没有索引。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP