标签:ret 自定义 地址 dict rom python 查询 ems 改变
字典:dict
1、字典是python中唯一的一个映射类型,以{}括起来的价值对组成;
2、字典中key是唯一的,在保存的时候,根据key来计算出一个内存地址,如何将value放在这个内存中,这种称为hash算法;
3、字典中的key必须是可hash的即(不可变的数据类型str,int,tuple,bool)
4、字典中的value可以存任意数据类型
5、字典也是无序的,故没有通过索引找值一说,只能通过key找value
语法:
dict = {key:value,……}
增:
1、直接添加
dic ["BeiJing"] = "政治中心"
注:如果字典中无”BeiJing“这个key,则新增,如有则改变对应的value值为新值
2、setdefault(key,value)方法添加,value可不写,默认为none
dic .setdefault("china") ---> {"china":None}
dic .setdefault("china","中国") --->{"china":None},一旦通过setdefault方法添加了key,之后就无法改变改key对应的值
删:
1、指定key值来删除
ret = dict.pop(key) 有返回值,返回的是删除的值,同list 一样,str与tuple是不可变数据类型故无pop方法
del dict 删除字典对象
del dict[key] 按key来删除,无返回值,为None
2、随机删除dict.popitem()
ret = dict.popitem() #随机删除字典中的元素,返回一个包含键值对的tuple (key,value)
解构:
k,v = dict.popitem()
print(k,v)
3、清空字典
dict.clear()
改:
1、直接通过key赋予新值
dict[key] = new_value
2、两个字典合并成一个 dict_to.update(dict_from)
dict3 = {"name": "sun", "age": 30}
dict4 = {"name": "xiu", "age": 30, "hobby": "play_tv"}
dict3.update(dict4) # 将dict4更新到dict3中,如果dict3中key存在,对应value值将覆盖,如果不存在,则新增
查:
1、通过key查value
dict[key] 如key不存在,则报错
dict.get(key,自定义返回值) 如key不存在,默认返回None,也可自定义
2、查询字典中所有的keys dict_keys([‘name‘, ‘age‘, ‘hobby‘])
for i in dict.keys:
print(i)
3、查询字典中所有的values dict_values([‘xiu‘, 30, ‘play_tv‘])
for i in dict.values:
print(i)
4、查询字典中所有的元素items dict_items([(‘name‘, ‘xiu‘), (‘age‘, 30), (‘hobby‘, ‘play_tv‘)])
for i in dict.items:
print(i) #i 是一个元组
标签:ret 自定义 地址 dict rom python 查询 ems 改变
原文地址:https://www.cnblogs.com/sunxiuwen/p/9141660.html