python基础之字典篇
2021-05-22 13:29
标签:赋值 基础 upd 可迭代对象 问题 声明 The print error: tips:字典是另一种可变容器模型,且可存储任意类型对象,字典是由键值对构成,键必须是不可迭代对象,值可以为任意对象 一,字典的声明与赋值 二,字典的查询 三,字典的新增 四,字典的删除 五,字典的更新 六,字典的内置函数 python基础之字典篇 标签:赋值 基础 upd 可迭代对象 问题 声明 The print error: 原文地址:https://www.cnblogs.com/wuxiaoshi/p/9736740.html#声明一个字典
dict = {}
#字典初始化赋值
dict = {"name":"wuxiaoshi","major":"programmer"}
#读取字典
dict = {"name":"wuxiaoshi","major":"programmer"}
dict[‘name‘] # wuxiaoshi
dict[‘major‘] #programmer
#循环读取
for key,item in dict.items():
print(item) # 值 wuxiaoshi,programmer
print(key) #键 name,major
# 字典的添加
dict = {}
dict[‘name‘] = ‘wuxiaoshi‘
dict[‘age‘] = 20
print(dict) #{"name":"wuxiaoshi","age":20}
#setdefault(key,value) 键无则添加 键有则不变,值无就是None
dict = {}
dict.setdefault(‘age‘,20)
dict.setdefault(‘name‘:‘wuxiaoshi‘)
dict.setdefault(‘name‘:‘xiaowushi‘)
dict.setdefault(‘hobbdy‘)
print(dict) # {‘age‘: 20, ‘name‘: ‘wuxiaoshi‘, ‘hobbdy‘: None}
#pop(key) 如果key存在,则删除key相应的这个键值对,并返回key对应的value,否则,将会报错 KeyError
dict = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
print(dict.pop(‘name‘)) # wuxiaoshi
print(dict) #{‘age‘: 20, ‘hobby‘: ‘reading,writting‘}
print(dict.pop(‘a‘)) # KeyError:a
#popitem() D.popitem() -> (k, v), remove and return some (key,value) pair as a 2-tuple; but raise KeyError if D is empty.
dict = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
print(dict.popitem()) # 理论上是随机删除一个,可能会有问题
#del 删除
dict = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
del dict[‘name‘] #删除 name的键值对
del dict #删除整个字典,从内存中把空间抹掉
#clear 清空,但是保留内存地址
dict.clear() # {}
# 直接更改方法
dict = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
dict[‘name‘] = ‘xiaowushi‘
print(dict) #{‘name‘: ‘xiaowushi‘, ‘age‘: 20, ‘hobby‘: ‘reading,writting‘}
#update
‘‘‘
update(...) method of builtins.dict instance
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
翻译过来就是 有则更新,无则添加
‘‘‘
dict1 = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
dict2 = {"name":"furao","major":"programmer"}
dict1.update(dict2) # {‘name‘: ‘furao‘, ‘age‘: 20, ‘hobby‘: ‘reading,writting‘, ‘major‘: ‘programmer‘}
dict2.update(dict1) #{‘name‘: ‘wuxiaoshi‘, ‘major‘: ‘programmer‘, ‘age‘: 20, ‘hobby‘: ‘reading,writting‘}
# get() 通过Key来找值,如果key不存在,可以设置一个默认值
dict = {"name":"furao","major":"programmer"}
dict.get("name") # furao
dict.get(‘age‘,18) # 18
#keys() 获取字典中的key 返回dict_keys
dict = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
dict.keys() # dict_keys([‘name‘, ‘age1‘, ‘hobby‘]) 如果想返回列表 则list强转
list(dict.keys()) # [‘name‘, ‘age‘, ‘hobby‘]
#values()
dict = {"name":"wuxiaoshi","age":20,"hobby":"reading,writting"}
dict.values() # [‘wuxiaoshi‘, 20, ‘reading,writting‘]
#items()
dict.items() # [(‘name‘, ‘wuxiaoshi‘), (‘age1‘, 20), (‘hobby‘, ‘reading,writting‘)]