美文网首页
字典的复制添加和set

字典的复制添加和set

作者: 步_尘 | 来源:发表于2017-11-01 19:32 被阅读0次

    1.dict.copy()

    返回一个新的字典,内容一样,地址不同

    #内容一样,地址不同

    infos2 = infos1.copy()

    ==判断值是否相等

    is判断地址是否相等

    print(infos1 is infos2)

    print(ls1 is ls2)

    2.dict.fromkeys(seq[, val]))

    创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

    ls=['a','b','c']

    infos = dict.fromkeys(ls,'哈哈')

    print(infos)

    3.dict.setdefault(key, default=None)

    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

    如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典中插入这个键,并且以default为这个键的值,并返回 default。default的默认值为None

    infos1 = {

    'sid':110,

    'sname':'老王',

    'age':22,

    'hobby':['抽烟','喝酒','烫头发']

    }

    print(infos1.setdefault('sid',120))

    print(infos1)

    print(infos1.setdefault('sex','男'))

    print(infos1)

    4.dict.update(dict2)

    把字典dict2的键/值对更新到dict里

    infos1 = {'sid':1}

    infos2 = {'sid':2,'sname':'老王'}

    infos2.update(infos1)

    print(infos2)

    字典与列表对比

    和list比较,dict有以下几个特点:

    查找速度极快,不会随着key的增加而变慢;

    需要占用大量的内存,内存浪费多。

    而list:

    查找和插入的时间随着元素的增加而增加;

    占用空间小,浪费内存很少。

    所以,dict是用空间来换取时间的一种方法。

    set

    set是一个无序,不能重复的集合容器,所以可以用来过滤重复元素。

    list是连续的,有顺序

    存储的值是可以重复的

    set是无序的

    存储的值不能重复

    set可以帮助自动去重复

    mySet = set()

    print(mySet)

    ls=[]

    把ls转换成set==》set(ls)

    pop() 随机删除并返回集合s中某个值

    clear() 清空

    set1.add(obj) 新增

    set1.remove(obj) 移除

    | 并集    set1|set2  union( x ) 并集

    & 交集    set1&set2  intersection( x ) 交集

    - 差集 set1-set2  difference( x )差集

    symmetric_difference( x ) 返回s和集合x的对称差集,即只在其中一个集合中出现的元素,不改变集合s, x 也可以是列表,元组,字典。

    issubsetssss) 判断 集合s 是否是 集合x 子集

    issuperset( x ) 判断 集合x 是否是集合s的子集

    相关文章

      网友评论

          本文标题:字典的复制添加和set

          本文链接:https://www.haomeiwen.com/subject/xyqipxtx.html