dict文档
文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | class dict ( object ): """ dict() -> new empty dictionary 创建字典的方式有两种: 1、dic = {} 2、dic = dict() ---------------------------------------------------------------------- dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2) """ def clear( self ): # real signature unknown; restored from __doc__ """ D.clear() -> None. Remove all items from D. 清空字典 """ pass def copy( self ): # real signature unknown; restored from __doc__ """ D.copy() -> a shallow copy of D 拷贝一个字典 跟列表的lcopy方法类似,也是一个浅拷贝,如果字典里面嵌套字典或者列表,内层不会 如果需要深拷贝,也要导入copy模块 -------------------------------------------------------------------------- dic3 = {'k1':{'kk1':1},'k2':{'kk2':'2'}} dic4 = dic3.copy() print(dic3['k1'] is dic4['k1']) # True dic3['k1']['kk1'] = 'kkk1' print(dic3) print(dic4) """ pass @staticmethod # known case def fromkeys( * args, * * kwargs): # real signature unknown """ Returns a new dict with keys from iterable and values equal to value. 创建一个新的字典,字典的key是从第一个参数(可迭代对象)里一一获取的, value值是从第二个参数(任意数据类型),默认是None 注意!这个是一个静态方法,是用dict类直接调用的!!! --------------------------------------------------------------------------- s = 'fuyong' d1 = dict.fromkeys(s) print(d1) # {'g': None, 'n': None, 'f': None, 'y': None, 'u': None, 'o': None} l = ['a','b','c'] d2 = dict.fromkeys(l,1000) print(d2) # {'a': 1000, 'b': 1000, 'c': 1000} ---------------------------------------------------------------------------- """ pass def get( self , k, d = None ): # real signature unknown; restored from __doc__ """ D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. 根据key值来查找value值 如果找不到不会报错,返回None ------------------------------------------------------------------------------- d1 = {'a':'b'} print(d1.get('a')) # b print(d1.get('c')) # None """ pass def items( self ): # real signature unknown; restored from __doc__ """ D.items() -> a set-like object providing a view on D's items 将字典的每一个元素的key和value值放到一个元组里,然后以一个类似列表形式包起来 但是返回值不是一个列表,而是一个dict_items对象 --------------------------------------------------------------- d1 = {'a':1,'b':2} print(d1.items()) # dict_items([('b', 2), ('a', 1)]) print(type(d1.items())) # <class 'dict_items'> ---------------------------------------------------------------- 可以用循环的方式遍历items for k,v in d1.items(): print(k,v) # b 2 # a 1 """ pass def keys( self ): # real signature unknown; restored from __doc__ """ D.keys() -> a set-like object providing a view on D's keys 获取字典所有key,以一个类似于列表的东西包起来,是一个dict_keys对象 可以遍历所有value ------------------------------------------------------------------------ d1 = {'a':1,'b':2} print(d1.keys()) # dict_keys(['a', 'b']) print(type(d1.keys())) # <class 'dict_keys'> """ pass def pop( self , k, d = None ): # real signature unknown; restored from __doc__ """ D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised 按照指定的key删除一个字典中的元素 如果能找到key值,则会返回删除元素的值 如果找不到指定的key,会报错 --------------------------------------------------------------------------- d1 = {'a':1,'b':2,'c':3} print(d1.pop('a')) """ pass def popitem( self ): # real signature unknown; restored from __doc__ """ D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty. 随机删除一个字典里的元素,并且以元组的形式将被删除的键值对返回 如果字典为空则会报错 ------------------------------------------------------------------------- d1 = {'a':1,'b':2,'c':3} print(d1.popitem()) # 因为是随机删除,每次执行返回值不同 """ pass def setdefault( self , k, d = None ): # real signature unknown; restored from __doc__ """ D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D 1、如果key值在原字典里存在: 不会被改变 d1 = {'a':1,'b':2,'c':3} d1.setdefault('b') print(d1) # {'a': 1, 'b': 2, 'c': 3} d1.setdefault('b',222) # {'a': 1, 'b': 2, 'c': 3} print(d1) ----------------------------------------------------------------------------------- 2、如果key值在原字典里不存在: 会在字典里添加一个键值对,如果不指定value值,则设置为None d1 = {'a':1,'b':2,'c':3} d1.setdefault('d') print(d1) # {'a': 1, 'c': 3, 'd': None, 'b': 2} d1.setdefault('e',6) # print(d1) # {'a': 1, 'c': 3, 'e': 6, 'd': None, 'b': 2} """ pass def update( self , E = None , * * F): # known special case of dict.update """ D.update([E, ]**F) -> None. Update D from dict/iterable E and F. If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k] 更新一个字典,可以将另一个字典添加进去 ---------------------------------------------------------------------------- d1 = {'a':1,'b':2,'c':3} d2 = {'d':4,'e':5} d1.update(d2) print(d1) # {'c': 3, 'a': 1, 'b': 2, 'e': 5, 'd': 4} """ pass def values( self ): # real signature unknown; restored from __doc__ """ D.values() -> an object providing a view on D's values 获取字典所有value,以一个类似于列表的东西包起来,是一个dict_values对象 可以遍历所有value ------------------------------------------------------------------------------- d1 = {'a':1,'b':2} print(d1.values()) # dict_values([2, 1]) print(type(d1.values())) # <class 'dict_values'> """ pass |
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | dic1 = {} dic2 = dict () print ( type (dic1), type (dic2)) dic3 = { 'k1' :{ 'kk1' : 1 }, 'k2' :{ 'kk2' : '2' }} dic4 = dic3.copy() print (dic3[ 'k1' ] is dic4[ 'k1' ]) # True dic3[ 'k1' ][ 'kk1' ] = 'kkk1' print (dic3) print (dic4) s = 'fuyong' d1 = dict .fromkeys(s) print (d1) l = [ 'a' , 'b' , 'c' ] d2 = dict .fromkeys(l, 1000 ) print (d2) d1 = { 'a' : '1,b' : 2 } print (d1.get( 'a' )) print (d1.get( 'c' )) d1 = { 'a' : 1 , 'b' : 2 } print (d1.items()) print ( type (d1.items())) for k,v in d1.items(): print (k,v) d1 = { 'a' : 1 , 'b' : 2 } print (d1.keys()) print ( type (d1.keys())) d1 = { 'a' : 1 , 'b' : 2 } print (d1.values()) print ( type (d1.values())) d1 = { 'a' : 1 , 'b' : 2 , 'c' : 3 } print (d1.pop( 'a' )) d1 = { 'a' : 1 , 'b' : 2 , 'c' : 3 } print (d1.popitem()) d1 = { 'a' : 1 , 'b' : 2 , 'c' : 3 } d1.setdefault( 'b' ) print (d1) d1.setdefault( 'b' , 222 ) print (d1) d1 = { 'a' : 1 , 'b' : 2 , 'c' : 3 } d1.setdefault( 'd' ) print (d1) d1.setdefault( 'e' , 6 ) print (d1) d1 = { 'a' : 1 , 'b' : 2 , 'c' : 3 } d2 = { 'd' : 4 , 'e' : 5 } d1.update(d2) print (d1) |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步