一、字典常用方法
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.字典没有索引。