聊一聊:Python 字典 的用法
共 2519字,需浏览 6分钟
·
2019-11-30 23:20
作者:刘帅
博文地址:https://www.cnblogs.com/liu-shuai/
字典是Python语言中唯一的映射类型。字典对象是可变的,它是一个容器类型,支持异构、任意嵌套。
创建字典
语法:{key1:val1,key2:val2,.....}
dict1 = {} #创建空字典
dict2 = {'n1':'liush','n2':'spirit','n3':'tester'}
使用函数dict创建字典
'spititman',age=28,gender='M') >D = dict(name=
2 print D
3 {'gender': 'M', 'age': 28, 'name': 'spititman'}
使用zip和dict创建字典
zip语法:
2 zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
3 实例展示:
4 L = zip('xyz','123')
5 print L
6 [('x', '1'), ('y', '2'), ('z', '3')]
7
8 L = zip('xyz','123','abc')
9 print L
10 [('x', '1', 'a'), ('y', '2', 'b'), ('z', '3', 'c')]
11 ################################################################################
12 D = dict(zip('xyz','123'))
13 print D
14 {'y': '2', 'x': '1', 'z': '3'}
15
16 D = dict(zip('xyz','123','abc'))
17 print D
18 ValueError: dictionary update sequence element #0 has length 3; 2 is required
字典常用操作及实例展示
可以使用dir(dict)查看字典支持的操作方法
clear
功能:清空字典所有元素
语法:D.clear() -> None. Remove all items from D
实例展示:
'n1':'liush','n2':'spirit','n3':'tester'} >D = {
2 D.clear()
3 print D
4 {}
copy
功能:浅复制字典。
语法:D.copy() -> a shallow copy of D
实例展示:
'n1':'liush','n2':'spirit','n3':'tester'} >D = {
2 id(D)
3 140388211911208
4 D1 = D.copy()
5 print D1
6 {'n1': 'liush', 'n2': 'spirit', 'n3': 'tester'}
7 id(D1)
8 140388110074776
fromkeys
功能:用于创建一个新字典,以序列S中的元素作为字典的键,v为新字典中所有键对应的初始值,默认为none。
语法:dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.v defaults to None
实例展示:
'spirit','man','liush'] >L = [
2 D_L = dict.fromkeys(L)
3 print D_L
4 {'liush': None, 'spirit': None, 'man': None}
5 ########################################################
6 D_L = dict.fromkeys(L,'test')
7 print D_L
8 {'liush': 'test', 'spirit': 'test', 'man': 'test'}
get
功能:获取指定键的值
语法:D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None
实例展示:
'n1': 'liushuai', 'n2': 'spirit', 'n3': 'tester'} >D = {
2 D1 = D.get('n4')
3 print D1
4 none #n4不在字典D中,返回默认值none
5 ##########################################################
6 D2 = D.get('n4','check')
7 print D2
8 check #n4不在字典D中,返回指定值check
9 ##########################################################
10 D3 = D.get('n2')
11 print D3
12 spirit #n2在字典D中,返回n2对应的值
13 ##########################################################
14 D4 = D.get('n2','check')
15 print D4
16 spirit #n2在字典D中,指定值无效,依然返回其对应值
未完,待续!
觉得不错,点个在看呗!