美文网首页
[python]dict和set

[python]dict和set

作者: 喵吉呀呀 | 来源:发表于2019-01-14 19:13 被阅读0次

    一、dict
    使用键-值(key-value)存储,特点:无序、key是唯一且不可变的、查询速度快

    >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    >>> d['Michael']
    95
    

    可以通过len()获取个数

    >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    >>> len(d)
    3
    

    判断key是否存在的两种方法
    1、in

    >>> d = {
        'Adam':95,
        'Lisa':85,
        'Bart':59,
        'Paul':75
    }
    >>> 'Adam' in d
    True
    >>> 'Bdam' in d
    False
    

    2、get(key,n)
    key:元素的key
    n:可选,key不存在时,n有值则返回n,无值则返回None
    用python自带的get获取元素,

    >>> d = {
        'Adam':95,
        'Lisa':85,
        'Bart':59,
        'Paul':75
    }
    >>>d.get( 'Adam')
    95
    >>>d.get( 'Bdam') 
    None
    >>>d.get( 'Bdam',1) 
    1
    

    pop():移除某个key(和value)

    >>> d = {
        'Adam':95,
        'Lisa':85,
        'Bart':59,
        'Paul':75
    }
    >>>d.pop( 'Adam')
    >>>d
    {
        'Lisa':85,
        'Bart':59,
        'Paul':75
    }
    

    二、set
    一组key的集合,但不存储value。特点:无序、key是唯一且不可变的,自动去重
    用[]和{}来包都可以

    >>> s1 = set([1, 2, 3])
    >>> s1
    {1, 2, 3}
    >>> s1 = set({1, 2, 3})
    >>> s1
    {1, 2, 3}
    >>> s1 = {1, 2, 3}
    >>> s1
    {1, 2, 3}
    >>>s3 = set([1, 1, 2, 2, 3, 3])
    >>> s3
    {1, 2, 3}
    

    add(key):添加元素到set中,可以重复添加,但不会有效果
    remove(key):删除元素

    >>> s.add(4)
    >>> s
    {1, 2, 3, 4}
    >>> s.add(4)
    >>> s
    {1, 2, 3, 4}
    >>> s.remove(4)
    >>> s
    {1, 2, 3}
    

    *set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

    *list和dict的区别:
    1、dict查找和插入的速度极快,不会随着key的增加而变慢,而list反之
    2、dict需要占用大量的内存,内存浪费多,而list反之

    相关文章

      网友评论

          本文标题:[python]dict和set

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