Python字典的初识、增删改查及嵌套
2021-04-09 13:28
标签:没有 诗人 类型 苹果 lis 存在 for 键值对 tuple 列表可以存储大量的数据,但数据间的关联型不强 dict:字典,容器型数据类型 {}括起来,以键值对形式存储的容器型数据类型 键必须是不可变的数据类型 值可以是任意数据类型,包括对象。 字典在3.5版本之前(包括3.5)是无序的 字典在3.6版本会按照初次建立字典的顺序排列,在学术上不认为是有序的 字典在3.7以后都是有序的。 方式一:键已存在则修改,不存在则在字典末尾追加之 方式二:键已存在则不变,不存在则增加 pop:按照键删除 若要删除键不存在字典中,会报错,可以给键后面增加一个参数 clear:清空 del:按照键删除 ? dic[‘key‘] = ‘新值‘ values():所有的值 items():所有的键值对 ? ? ? Python字典的初识、增删改查及嵌套 标签:没有 诗人 类型 苹果 lis 存在 for 键值对 tuple 原文地址:https://www.cnblogs.com/ChiRou/p/13373800.html为什么要有字典?
列表的查询速度相对慢数据类型的分类:
列表list,字典dict,集合set
str,bool,int,tuple字典的特点:
例:dic = {‘诗人‘:{‘name‘:‘李白‘,‘苏轼‘,‘杜甫‘,‘白居易‘},
‘age‘:[123,‘七十八‘,‘五十‘,66]}
字典的优点:
字典的缺点:
字典的创建方式:
dic = dict(((‘one‘,1),(‘two‘,2),(‘three‘,3)))
print(dic) # {‘one‘: 1, ‘two‘: 2, ‘three‘: 3}
dic = dict(one=1,two=2,three=3)
print(dic) # {‘one‘: 1, ‘two‘: 2, ‘three‘: 3}
dic = ({‘one‘:1,‘two‘:2,"three":3})验证字典的合法性:
值可以存放任意数据类型字典的增删改查:
增:
字典[‘键‘] = 值
字典.setdefault(‘键‘) # 添加一个值为空的键
字典.setdefault(‘键‘,值) # 添加一个键值对删:
字典.pop(‘键‘,‘没有此键‘) # 这样不会报错
dict.clear():清空字典内的数据,字典本身还存在
del dic[‘key‘]若键不存在则会报错改:
查:
print(dic[‘key‘])
若键不存在则会报错
li = dic.get(‘key‘,‘自定义的返回值‘)
print(li)
若键不存在则显示为none
print(dic.keys()):
将所有的键放进一个特殊的数据类型,dict_keys
可以转换成列表
print(list(dic.keys())) for key in dic.keys():
print(key)
# 打印字典的每个键
print(dic.values()):打印所有的值
可以转换成列表: print(list(dic.values()))
for values in dic.values():
print(values)
# 打印字典的每个值
print(dic.items()):将所有的键值对以元组的形式放进一个特殊的数据类型中 for i in dic.items():
print(i)
# i 为每个元组
利用元组的拆包分别赋值:
for key,value in dic.items():
print(key,value)
# key,value:两个变量分别对应键和值
字典的嵌套:
dic = {
‘name‘:‘汪峰‘,
‘age‘:48,
‘wife‘:[{‘name‘:‘国际章‘,‘age‘:38}]
‘children‘:{‘girl_first‘:‘小苹果‘,‘girl_second‘:‘小怡‘,‘girl_three‘:‘顶顶‘}
}
# 1.取出汪峰的名字。
dic.get(‘name‘)
# 2.获取这个字典:{‘name‘:‘国际章‘,‘age‘:38}
dic.get(‘wife‘)
# 3.获取wife的名字。
dic["wife"].get(‘name‘)
# 4.获取girl_second的名字
dic[‘children‘].get(‘girl_second‘)
上一篇:快速排序排与堆排序
下一篇:数据结构与算法-绪论