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)

  

posted @   人生不如戏  阅读(288)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示