• python基础之字典dict和集合set


    作者:tongqingliu
    转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html

    python基础之字典dict和集合set

    字典dict

    字典使用键值对存储,具有极快的查找速度。

    >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} # 创建字典
    >>> d
    {'Michael': 95, 'Tracy': 85, 'Bob': 75}
    >>> d['Michael']  # 字典的索引
    95
    >>> d['Jack'] = 90 # 为字典添加元素
    >>> d['Jack']
    90
    >>> d['Jack'] = 88 # 更新字典中键的值
    >>> d['Jack']
    88
    >>> d
    {'Michael': 95, 'Jack': 88, 'Tracy': 85, 'Bob': 75}
    >>> 'Thomas' in d # 判断字典中是否存在某个键,若存在则返回True,若不存在则返回False
    False
    >>> d.get('Bob') # get方法,如果key不存在,返回None,如果存在则返回对应的值
    75
    >>> d.get('Haha') # 不存在,返回None
    >>> d.pop('Bob') # 删除Bob对应的键值对
    75
    >>> d
    {'Michael': 95, 'Jack': 88, 'Tracy': 85}
    

    dict内部存放的顺序和key放入的顺序没有关系。
    字典的键必须是不可变对象。

    字典和列表的对比

    dict有以下几个特点:

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

    • 需要占用大量的内存,内存浪费多。
      而list相反:

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

    • 占用空间小,浪费内存很少。
      所以,dict是用空间来换取时间的一种方法。

    集合set

    set和dict类似,也是一组key的集合,但不存储value。这里的集合与数学上的集合类似,其中的key不能重复。

    >>> s = set([1, 2, 3]) # 通过列表创建集合
    >>> s
    {1, 2, 3}
    >>> s = set([1, 1, 2, 2, 3, 3]) # 集合去除重复元素
    >>> s
    {1, 2, 3}
    >>> s.add(4) # 给集合添加元素
    >>> s
    {1, 2, 3, 4}
    >>> s.add(4) # 重复添加元素不会报错,但不会起作用
    >>> s
    {1, 2, 3, 4}
    >>> s.remove(4) # 删除元素
    >>> s
    {1, 2, 3}
    >>> s1 = set([1, 2, 3])
    >>> s2 = set([2, 3, 4])
    >>> s1 & s2 # 求交集
    {2, 3}
    >>> s1 | s2 # 求并集
    {1, 2, 3, 4}
    

    参考:

    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143167793538255adf33371774853a0ef943280573f4d000

  • 相关阅读:
    iphone 图标下载
    iphone 下拉刷新(转)
    技术书评(.NET为主)
    我也设计模式——3.Singleton
    我也设计模式——14.Flyweight
    Web2.0技术研究笔记——1.分类与资源
    我也设计模式——4.Builder
    C#之CLR读书笔记 0
    IMemento 永远置顶
    我也设计模式——21.Memento
  • 原文地址:https://www.cnblogs.com/liutongqing/p/7043642.html
Copyright © 2020-2023  润新知