Python字典的操作
1、字典添加修改数据的方法
[]处理法
字符串,列表list[0] = 10,但是字典没有索引
dict[ ‘name’ ] = ‘david’
添加或修改,根据key是否存在所决定
In [1]: d= {'name': 'david'} In [2]: d['name'] = 'jason' In [3]: print(d) Out [1]: {'name': 'jason'}
字典的内置函数update
功能:添加新的字典,如新字典中有和原字典相同的key,则该key的value会被新字典的value覆盖
update的用法与功能
用法:dict.update(new_dict) –该函数无返回值
参数:new_dict:新的字典
In [1]: default_dict = {} In [2]: new_dict = {'name': 'david'} In [3]: default_dict.update(new_dict) In [4]: print(default_dict) Out [1]: {'name': 'david'}
字典的内置函数setdefault
功能:获取某个key的value,如key不存在于字典中,将会添加key并将value设为默认值
用法:dict.setdefault(key, value)
参数:key:需要获取的key,value:如果key不存在,对应这个key存入字典的默认值
In [1]: default_dict = {} In [2]: value = default_dict.setdefault('name', 'david') In [3]: print('dict:', default_dict, 'value:', value) Out [1]: dict: {'name': 'david'} value: david
注意事项
- 字典中没一个key一定是唯一的
- 字典中的数据量没有限制
- 字典中的value可以是任何python的内置数据类型的对象和自定义的对象
2、字典的keys函数
功能:获取当前字典中所有的键(key)
用法:dict.keys() –> 无需传参,返回一个key集合的伪列表
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: print(my_dict.keys()) Out [1]: dict_keys(['name': 'age']) -->不具备列表的所有功能 In [1]: key_list = list(my_dict.keys()) In [2]: print(key_list) Out [1]: ['name': 'age']
3、字典的values函数
功能:获取当前字典中所有键值对中的值(value)
用法:dict.values() –>无需传参,返回一个value集合的伪列表
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: print(my_dict.values()) Out [1]: dict_values(['david', 22]) -->不具备列表的所有功能
4、字典key的获取
[]的获取方法
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: name = my_dict['name'] In [3]: print(name) Out [1]: david
字典内置函数get获取方法
功能:获取当前字典中指定key的value
用法:dict.get(key,default=None)
参数:key:需要获取value的key,default:key不存在则返回次默认值,默认是None,也可以自定义
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: name = my_dict.get('name') In [3]: print(name) Out [1]: david
[]与get的区别
- []如果获取的key不存在,则直接报错
- get如果获取的key不存在,则返回默认值
- 开发中优先使用get函数
5、字典的删除
clear函数的功能与用法
功能:清空当前的字典中所有数据
用法:dict.clear() –> 无参数,无返回值
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: my_dict.clear() In [3]: print(my_dict) Out [1]: {}
pop函数的功能与用法
功能:删除字典中指定的key,并将结果返回,如果key不存在则报错
用法:dict.pop(key) –>返回这个key对应的值(value)
参数:key:希望被删掉的键
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: pop_value = my_dict.pop('age') In [3]: print('pop value:', pop_value, 'my_dict:', my_dict) Out [1]: pop value: 22 my_dict: {'name': 'david'}
del在字典中的用法
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: del my_dict['name'] In [3]: print(my_dict) Out [1]: {'age': '22'} del my_dict print(my_dict) -->报错,整个字典对象已经被删除
6、字典的复制——copy函数
功能:将当前字典复制一个新的字典
用法:dict.copy() –>无参数,返回一个一模一样的内存地址不同的字典
In [1]: old_dict = {'name': 'david', 'age': '22'} In [2]: new_dict = old_dict.copy() In [3]: print(id(new_dict) != id(old_dict)) Out [1]: True
7、字典中的成员判断
in与not in在字典中的用法
In [1]: test_dict = {'name': 'david'} In [2]: print('name' in test_dict) Out [1]: True In [3]: print('name' not in test_dict) Out [2]: False
字典内置的get使用参考
In [1]: In [1]: test_dict = {'name': 'david'} In [2]: print(bool(test_dict.get('name'))) Out [1]: True
8、字典中的末尾删除函数——popitem
功能:删除当前字典里末尾一组键值对并将其返回
用法:dict.popitem() –> 无需传参,返回被删除的键值对,用元组包裹0索引是key,1索引是value
In [1]: my_dict = {'name': 'david', 'age': '22'} In [2]: print(my_dict.popitem()) Out [1]: ('age', '22')
注意事项:如字典为空,则直接报错
9、所有数据类型与布尔值的关系
- 每一种数据类型,自身的值都有表示True与False
- not对于一切结果取反
数据类型 | 为True | 为Flase |
---|---|---|
int | 非0 | 0 |
float | 非0.0 | 0.0 |
str | len(str) != 0 | len(str) == 0 即 ‘’ |
list | len(list) != 0 | len(list) == 0 即 [] |
tuple | len(tuple) != 0 | len(tuple) == 0 即 () |
dict | len(dict) != 0 | len(dict) == 即 {} |
None | not None | None |
转载请注明来源