字典的删改查操作https://www.zhihu.com/video/1185227901603094528
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
字典是Python语言中唯一的映射类型。
定义:
{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
示例:
info =
{
"name":"小猿圈",
"mission":
"帮一千万极客高效学编程",
"website":
"http://apeland.com"
}
特性:
- key-value结构
- key必须为不可变数据类型、必须唯一
- 可存放任意多个value、可修改、可以不唯一
- 无序
- 查询速度快,且不受dict的大小影响,至于为何快?我们学完hash再解释。
创建操作
>>>person =
{"name":
"alex",
'age':
20}
#或
>>>person = dict(name='seven', age=20)
#或
>>>person = dict({"name":
"egon",
'age':
20})
#或
>>>
{}.fromkeys([1,2,3,4,5,6,7,8],100)
{1:
100,
2:
100,
3:
100,
4:
100,
5:
100,
6:
100,
7:
100,
8:
100}
增加操作
names =
{
"alex":
[23,
"CEO",
66000],
"黑姑娘":
[24,
"行政",
4000],
}
# 新增k
names["佩奇"]
=
[26,
"讲师",
40000]
names.setdefault("oldboy",[50,"boss",100000])
# D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
删除操作
names.pop("alex")
# 删除指定key
names.popitem()
# 随便删除1个key
del names["oldboy"]
# 删除指定key,同pop方法
names.clear()
# 清空dict
修改操作
dic['key']
=
'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
dic.update(dic2)
将字典dic2的键值对添加到字典dic中
查操作
dic['key']
#返回字典中key对应的值,若key不存在字典中,则报错;
dic.get(key,
default
=
None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
'key'
in dic #若存在则返回True,没有则返回False
dic.keys()
返回一个包含字典所有KEY的列表;
dic.values()
返回一个包含字典所有value的列表;
dic.items()
返回一个包含所有(键,值)元组的列表;
循环
1、for k in dic.keys()
2、for k,v in dic.items()
3、for k in dic # 推荐用这种,效率速度最快
info =
{
"name":"小猿圈",
"mission":
"帮一千万极客高效学编程",
"website":
"http://apeland.com"
}
for k in info:
print(k,info[k])
输出
name 小猿圈
mission 帮一千万极客高效学编程
website http://apeland.com
求长度
len(dic)