• set和dict


    dict属于mapping类型

    from collections.abc import Mapping,MutableMapping
    from collections.abc import __all__
    
    # dict 属于Mapping类型
    
    a = {}
    print(isinstance(a,MutableMapping))

    copy 浅拷贝

    a = {
        "liming1":{"company":"tencent1"},
        "liming2":{"company":"tencent2"},
    }
    
    # clear
    """ D.clear() -> None.  Remove all items from D. """
    # a.clear()
    
    #copy 浅拷贝
    """ D.copy() -> a shallow copy of D """
    new_dict = a.copy()
    new_dict['liming1']['company'] = 'tencent3'
    
    print(a)
    print(new_dict)
    
    ###########
    {'liming1': {'company': 'tencent3'}, 'liming2': {'company': 'tencent2'}}
    {'liming1': {'company': 'tencent3'}, 'liming2': {'company': 'tencent2'}}

    fromkeys

    # fromkeys
    new_list = ['liming1','liming2']
    
    new_dict = dict.fromkeys(new_list,{'company':'tencent'})
    
    print(new_dict)

    update

    # update
    
    new_dict.update({'lisa':{"company":"tencent2"}})
    new_dict.update({'liming2':{"company":"tencent2"}})
    new_dict.update(jenny={'company':'beijing'})
    new_dict.update([('jenny',{'company':'shanghai'})])
    print(new_dict)

    defaultdict  

    __missing__ 很重要
    from collections import defaultdict
    import collections
    s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
    
    d = collections.defaultdict(list)
    for k, v in s:
        d[k].append(v)
    
    print(list(d.items()))
    
    s = 'mississippi'
    d = defaultdict(int)
    for k in s:
         d[k] += 1
    print(list(d.items()))#set 不可变集合 fronzenset  无序  不重复

     

    set和frozenset 的区别

    刚开始也讲了frozenset是不可变的,如果修改是报错的,那到底有什么用处呢
    应用场景:一般dict 的key 是不变的,我们就可以用
    那我们用代码证明下,set不会报错,frozenset 会报错.

    s = {'a','b'}
    s.add('c')
    print(s)
    
    f = frozenset('abcd')  # 可以作为dict的key
    print(f)
    
    # 向set添加数据
    another_set = set('fgh')
    
    s.update(another_set)
    print(s)

    difference 的用法

    # 先看方法描述吧 ( Return the difference of two or more sets as a new set.)
    # 用例子加深印象。
    a=set("abc")
    print(a.difference("bcd"))
    print(a)

    set集合运算(|,&,-)

    a=set("abc")
    b=set("bcd")
    print(a-b)   #对a进行去重
    print(a | b) #并集
    print(a & b) #交集
    
    # {'a'}
    # {'c', 'a', 'd', 'b'}
    # {'c', 'b'}
  • 相关阅读:
    python中end=" "的含义
    TCP 四次挥手
    进程
    C#代码实现把网页文件保存为mht文件
    C#代码实现把网页文件保存为mht文件
    C#代码实现把网页文件保存为mht文件
    [转]在MySQL中创建实现自增的序列(Sequence)的教程
    [转]在MySQL中创建实现自增的序列(Sequence)的教程
    [转]在MySQL中创建实现自增的序列(Sequence)的教程
    Yii项目Security加密解密类提取
  • 原文地址:https://www.cnblogs.com/richiewlq/p/11073272.html
Copyright © 2020-2023  润新知