Python -- dict 类

发布时间:2019-08-08 07:46:20编辑:auto阅读(1420)


    Python dict类常用方法:

    class dict(object):

        

        def clear(self):  #清除字典中所有元素形成空字典,del是删除整个字典;

    >>> test

    {'k2': 'v2', 'k1': 'v1'}

    >>> test.clear()

    >>> test

    {}


        def copy(self): #  浅拷贝只拷贝第一层,其他层指向原数据,如果原数据改变其他

                        都会跟着改变,而深拷贝

    不变;

    >>> cp = 

                            {'c1': 'cv1', 'c2': {'d2': {'e1': 'ev1'}, 'd1': 'dv1'}}

    >>> c1 = cp.copy()

    >>> c2 = cp

    >>> import copy

    >>> c3 = copy.deepcopy(cp)     # 深拷贝,拷贝完整数据

    >>> cp['c2']['d2']['e1'] = 'cp_copy'

    >>> cp

    {'c1': 'cv1', 'c2': {'d2': {'e1': 'cp_copy'}, 'd1': 'dv1'}}

    >>> c1

    {'c1': 'cv1', 'c2': {'d2': {'e1': 'cp_copy'}, 'd1': 'dv1'}}

    >>> c2

    {'c1': 'cv1', 'c2': {'d2': {'e1': 'cp_copy'}, 'd1': 'dv1'}}

    >>> c3

    {'c1': 'cv1', 'c2': {'d2': {'e1': 'ev1'}, 'd1': 'dv1'}}


        def fromkeys(*args, **kwargs):  # 将所有key都赋予相同的值,第一参数为key,第二个

                                            参数为value如果没有第二个参数则默认为none;

    >>> test

    {'k2': 'v2', 'k1': 'v1'}

    >>> ret = test.fromkeys([1,2,3],'t')

    >>> ret

    {1: 't', 2: 't', 3: 't'}


        def get(self, k, d=None):   # get方法如果找不到元素则返回none 不会返回错误,

                                        或者指定返回信息;

    >>> test = {'k1':'v1','k2':'v2'}

    >>> test.get('k1')

    'v1'

    >>> print(test.get('k3'))

    None

    >>> print(test.get('k3','ok'))

    ok


        def items(self):     #  读取字典中所有值形成列表,主要用于for循环;

    >>> test

    {'k2': 'v2', 'k1': 'v1'}

    >>> test.items()

    dict_items([('k2', 'v2'), ('k1', 'v1')])


        def keys(self):   # 读取字典中所有key值形成列表,主要用于in 的判断;

    >>> test

    {'k2': 'v2', 'k1': 'v1'}

    >>> test.keys()

    dict_keys(['k2', 'k1'])


        def pop(self, k, d=None): # 指定删除某一元素,注必须指定key;

    >>> test

    {'k2': 'v2', 'k1': 'v1'}

    >>> test.pop('k1')

    'v1'

    >>> test

    {'k2': 'v2'}


        def popitem(self): # 相比pop它是无序删除某一元素,无需指定key;

    >>> test

    {'k2': 'v2', 'k4': 'v4', 'k3': 'v3', 'k1': 'v1'}

    >>> test.popitem()

    ('k2', 'v2')

    >>> test.popitem()

    ('k4', 'v4')

    >>> test.popitem()

    ('k3', 'v3')


        def setdefault(self, k, d=None):  # 如果有值则返回值,如果没值则默认添加none,

                                            也可以添加指定值;

    >>> test

    {'k2': 'v2', 'k4': 'v4', 'k3': 'v3', 'k1': 'v1'}

    >>> test.setdefault('k1')

    'v1'

    >>> test.setdefault('k5')

    >>> test

    {'k2': 'v2', 'k4': 'v4', 'k3': 'v3', 'k5': None, 'k1': 'v1'}

    >>> test.setdefault('k6',['k6'])

    ['k6']

    >>> test

    {'k2': 'v2', 'k4': 'v4', 'k5': None, 'k1': 'v1', 'k6': ['k6'], 'k3': 'v3'}


        def update(self, E=None, **F):  # 更新时,就会循环需要更新的字典每一个元素,

                                如果原字典中没有相同元素则添加该元素则在原字典中添加

                                        该元素,如果有相同key则更新value值;

    >>> test = {'k1':'v1','k2':'v2'}

    >>> uptest = {'u1':1,'u2':2,'k3':3}

    >>> test.update(uptest)

    >>> test

    {'k2': 'v2', 'u1': 1, 'k3': 3, 'u2': 2, 'k1': 'v1'}


        def values(self):  # 读取字典中所有values 值并形成列表;

    >>> test

    {'k2': 'v2', 'k1': 'v1'}

    >>> test.values()

    dict_values(['v2', 'v1'])



关键字

上一篇: python nagios plugi

下一篇: Python cross compile