1:基本概念:
1) 字典dict ,是键值对的形式,每一个key映射一个value(映射就是关联的意思)
2) 字典是无序的,可变类型,并且key(键)是唯一的
3)可以储存一个对象的多种信息,这句话翻译过来就是: 一个key可以映射多个值
2:字典的创建
2.1 直接创建
eg: dict = {"key1": "value", "key2": "value2", "key3": "value3"}
2.2 列表和元素表达式:
1) 元祖类型创建:
dict(元祖)
eg: tuple = ((key1,value1),(key2,value2),(key3,value3))
dict(tuple)
元祖里面嵌套元祖一个key-value形式的元祖对后,就可以通过dict(元祖) == 转换成字典
2) 列表类型创建
dict(list)
道理都是一样的:举个栗子:
list = [[key1:value1],[key2:value2],[key3,value3]]
dict(list)
由上面的栗子看的出来:元祖里面嵌套元祖,列表里面嵌套列表
3) 还有就是用等号的形式表达:见得比较少
dict4 = dict(key1=value1, key2=value2, key3=value3)
4) : fromkeys(参数A,参数B)
举个栗子:员工A,B,C的工资都是3000元,怎么表达
gongzi_dict = {}.fromkeys(('员工A','员工B','员工C'), 3000)
其实这也是k-v的表达式:可以把('员工A','员工B','员工C')看成一个D 转换过来
就是gongzi_dict = {}.fromkeys(D, 3000)
4:我们知道字典是无需的,怎么去对字典进行排序尼 -- 目前是不可能的哈
举个栗子:sorted()排序
dict1 = {'E': 'value1', 'C': 'value2', 'A': 'value3', 'B': 'value4'}
a = sroted(dict1)
print(a)
输出:['A', 'B', 'C', 'E']
从上面这个栗子就能看出来:
它会对我们字典里面的项进行排序,我们得到项就可以用列表循环去和字典一起使用。
5:字典的一些常用方法:
初始化一个空字典 dict1 = {}
增:
dict1["key1"] = value1
dict1["key2"] = value2
......
删:
1) clear() 清除方法,清除字典中的所有项,返回None
2)pop()弹出方法,弹出的值可以用变量接受,
3)popitem() 随机弹出字典中的一个项
改:和增一样,只需要改变value就可以了。
查:
获取value
1) dict.get(key)
2)setdefault() 方法:和获取属性的attr有点相同
看下栗子:这个方法既可以用来获取值也可用来作为添加方法
访问:
dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
print(dict1["key1"]) 根据对应的键就可以访问到对应的值
复制:
copy(): 浅复制,对复制的新dict操作,会影响原字典。
deepcopy() 完全复制,对复制的新dict操作,不会影响原字典
打印:返回一个列表
a) keys: 打印所有key
举个栗子:
dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
dict1.keys
返回 ==》['key1', 'key2', 'key3']
b) values:打印所有value
c) items(): 打印所有项