一.字典的作用
作用:字典是用来记录多个值,使用key来对应值(列表和元组都是索引、位置来对应值),key通常字符串类型,对value具有描述性功能,不是由个数来表述的
二.字典的定义
定义:{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,则key必须是不可变类型,且key不能重复,通常key是字符串
类型,因为key对
value有描述性功能
语法一:info = {"姓名":‘夏亮‘,"性别":‘男‘,(1,2,3):2222,1.2:3,12:33} #可以用字符串、整型、浮点型、元组都可以当key,但是不能用列表当key
语法二:info = dict(x = 6,y = 9,c = 7) #这样也可以造字典,输出结果为{“x”:6,"y":9,"c":7}
注:如果{}括号内没有填值,这默认为一个空字典;如 d = {};
三.数据类型转换
案例一,把一个列表中的值转换为字典
info = [
["姓名","夏亮"],
["性别","男"],
["年龄",31]
]
name = dict(info) #用dict直接把列表转换为字典,需要用dict转换时,列表中每个小列表必须有两个值;循环列表中的值,把嵌套类别中的第一个值当做key,第二个当做value
print(name)
输出结果:{‘姓名‘: ‘夏亮‘, ‘性别‘: ‘男‘, ‘年龄‘: 31}
案例二,快速初始化一个字典,把一个列表中的值取出来,当做字典的key,并且value都为None
info = ["姓名","姓名","年龄"]
reg = {}.fromkeys(info,None) #循环info列表中的值,然后存入到一个空字典中当做key,value为None,这里None为默认值,也可以指定为其他的默认值
print(reg)
输出结果:{‘姓名‘: None, ‘性别‘: None, ‘年龄‘: None}
四.内置方法
1.优先掌握
1.1 按key存、取值:可存可取
案例一:
name = {"姓名":‘夏亮‘}
name["姓名"]="xialiang" #针对赋值操作:key存在,则直接修改
print(name)
输出结果:{‘姓名‘: ‘xialiang‘}
案例二:
name = {"姓名":‘夏亮‘}
name["性别"]="男" #针对赋值操作:key不存在,则直接创建新值
print(name)
输出结果:{‘姓名‘: ‘夏亮‘, ‘性别‘: ‘男‘}
2.长度:len
d = {"k1":11,"k2":22,"k1":33,"k1":44}
print(d)
输出结果:{‘k1‘: 44, ‘k2‘: 22} #key不能重复,这里key重复了,所以只取一个
print(len(d))
输出结果:2 #key不能重复,这里k1三个,只能算一个
3.成员运算in 和not in:根据key来找的
d = {"k1":11,"k2":22}
print("k1" in d) #key(k1)存在d字典中
输出结果:True
4.删除
4.1 通用删除方法:del
d = {"k1":11,"k2":22,"k3":33,"k4":44}
del d["k1"] #删除字典中指定的key
print(d)
输出结果:{‘k2‘: 22, ‘k3‘: 33, ‘k4‘: 44}
4.2 pop删除:根据key删除元素,可以返回key对应的value值,如:res = d.pop("k2"),输出结果会显示k2对应的值
d = {"k1":11,"k2":22,"k3":33,"k4":44}
d.pop("k2") #删除字典中指定的key,与del一样
输出结果:{‘k1‘: 11, ‘k3‘: 33, ‘k4‘: 44}
4.3 popitem删除:默认删除最后一个元素,返回一个元组(删除的key,删除的value),如:res=d.popitem(),输出结果会显示(‘k4‘, 44)
d = {"k1":11,"k2":22,"k3":33,"k4":44}
d.popitem() # 默认删除字典中最后一个key
输出结果:{‘k1‘: 11, ‘k3‘: 33, ‘k4‘: 44}
原文:https://www.cnblogs.com/xialiang37/p/14059160.html