(1)字典:dict类型,{}表示字典
(2)字典中的元素是由键值对(key:value)组成的,每个元素也是逗号隔开
(3)字典中没有下标的概念,键就是索引(字典内部元素是无序的)
(4)字典中的相关规范:
a、字典中的键(key)不能重复
b、字典中的键(key)只能使用不可变类型的数据(通常是用字符串)
注:不可变类型的数据:数值类型、字符串、元组
可变类型的数据:列表、字典、集合
c、字典中的键的对应值(value)可以是任意类型的数据
dic={“name”:“小明”,“age”:18,“phone”:“13309877890”}
print(dic[“name”])
print(dic[“age”])
得到结果为:小明
18
2、字典的操作方法dic={“a”:11,“b”:22,“c”:33}
2-1增
添加单个键值对:
dic[“d”]=99
print(dic) 得到结果为:{‘“a”:11,“b”:22,“c”:33,“d”:99}
添加多个键值对:update
dic.update({“aa”:111,“bb”:222,“cc”:33})
print(dic) 得到结果为:{“a”:11,“b”:22,“c”:33,“aa”:111,“bb”:222,“cc”:33}
2-2改
dic[“c”]=99
print(dic) 得到结果为:{“a”:11,“b”:22,“c”:99}
2-3删
pop:删除指定键的键值对,并返回键对应的值
dic.pop(“a”)
print(dic) 得到结果为:{b”:22,“c”:33}
res=dic.pop(“a”)
print(dic,res) 得到结果为:{b”:22,“c”:33} 11
注意:pop操作是可以有返回值的
popitem:删除最后添加进去的键值对,并以元组的形式返回该键值对
dic.popitem()
print(dic) 得到结果为:{“a”:11,“b”:22}
res=dic.popitem()
print(dic,res) 得到结果为:{“a”:11,“b”:22} (“c”,33)
2-4查
通过键取值:
res=dic[“c”]
print(res) 得到结果为:33
get方式取值,也是通过键:
res=dic.get(“c”)
print(res) 得到结果为:33
两种方式的区别:直接通过键取值,如果键不存在,会报错(KeyError)
get方式取值,如果键不存在,输出结果为None
3、字典内容的补充(1).items()方法:获取字典的所有键值对,每一键值对作为一个元组
dic={“a”:11,“b”:22,“c”:33,“d”:44}
print(list(dic.items())) 得到的结果为:[(‘a’,11),(‘b’,22),(‘c’,33),(‘d’,44)]
(2).values()方法:获取字典的所有值
dic={“a”:11,“b”:22,“c”:33,“d”:44}
print(list(dic.values())) 得到的结果为:[11,22,33,44]
关于字典定义的扩充:
第一种:直接通过{key:value,key:value}的形式
dic={“a”:11,“b”:22,“c”:33,“d”:44}
第二种:使用dict转换[(key,value),(key,value)]的类型,即列表中的元素是元组,元组中是key,value的形式
dic=dict([(‘a’,11),(‘b’,22),(‘c’,33),(‘d’,44)])
print(dic) 得到结果为:{“a”:11,“b”:22,“c”:33,“d”:44}
第三种:dict(key=value,key=value)
dic=dict(name=“yuan”,age=18,gender=“男”)
print(dic) 得到结果为:{“name”:“yuan”,“age”:18,“gender”:“男”}