zoukankan      html  css  js  c++  java
  • 【python3的学习之路六】使用dict和set

    dict

    Python内置了字典:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

    d = {'Michael':95, 'Bob':75, 'Tracy':85}
    print(d['Tracy'])   # 85

    由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉。

    d['Bob'] = 100
    print(d['Bob'])   # 100

    如果key不存在,dict就会报错。要避免key不存在的错误,我们可以通过in判断key是否存在,或者用get()方法(如果key不存在,可以返回None,或者自己指定的value)。

    'Thomas' in d        #  False
    
    d.get('Thomas')      # None
    d.get('Thomas', -1)  # -1

    要删除一个key,用pop()方法

    d.pop('Bob')
    print(d)     # {'Michael':95, 'Tracy':85}

    和list相比,dict有一下几个特点:
    1、查找和插入的速度极快,不会随着key的增加而变慢;
    2、需要占用大量的内存,内存浪费多。

    set

    集合(set)是一个无序不重复元素的序列。
    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    s = set([1, 2, 3])
    print(s)     #  {1, 2, 3}
    
    s = set([1, 1, 2, 3,  2, 3])
    print(s)     #  {1, 2, 3}
    
    s = {1, 1, 2, 3,  2, 3}

    通过add(key)方法可以添加元素到set,通过remove(key)方法可以删除元素。

    s.add(4)
    s.update(4)  # 可以添加元素,且参数可以是列表,元组,字典等
    s.remove(4)  # 移除集合中的元素,如果元素不存在,则会发生错误
    s.discard(4) # 移除集合中的元素,如果元素不存在,不会发生错误
    s.pop()      # 随机删除集合中的一个元素
    s.clear()    # 清空集合

    set可以看成数学意义上的无序和无重复元素的集合,因此,俩个set可以做数学意义上的交集、并集等操作。

    s1 = set([1, 2, 3])
    s2 = set([2, 3, 4])
    print(s1 & s2)     # {2, 3}
    print(s1 | s2)     # {1, 2, 3, 4}
  • 相关阅读:
    Codeforces Round #594 (Div. 2) ABC题
    Codeforces Round #596 (Div. 2) ABCD题
    数据结构实验5——二叉树
    数据结构实验4——字符串匹配
    数据结构实验3——用栈求解算术表达式
    友链
    Codeforces Round #577 (Div. 2)
    Educational Codeforces Round 70 (Rated for Div. 2)
    Codeforces Round #578 (Div. 2)
    2020 Multi-University Training Contest 10(待补
  • 原文地址:https://www.cnblogs.com/CSgarcia/p/9705855.html
Copyright © 2011-2022 走看看