美文网首页
python字典、集合总结

python字典、集合总结

作者: 发家致富靠养猪 | 来源:发表于2018-11-14 17:08 被阅读0次

    一、字典相关运算方法

    1.clear
    • 字典.clear() - 清空字典(删除字典中所有的键值对)
    dict1 = {'a':1,'b':2}
    dict1.clear()
    
    2.copy
    • 字典.copy()- 复制字典中的所有的键值对 产生一个新的字典
    dict1 = {'a':1,'b':2}
    dict2 = dict1.copy()
    
    3.fromkeys
    • dict.fromkeys(序列,值)- 把序列中的元素作为key,值作为所有key对应的默认值,创建一个新的字典
    dict3= dict.fromkeys('abc',100)
    print(dict3) # {'a': 100, 'b': 100, 'c': 100}
    dict3= dict.fromkeys(['name','age','hah'],100)
    print(dict3) # {'name': 100, 'age': 100, 'hah': 100}
    
    4.get
    • 字典.get(key)- 获取key对应的值,不存在返回None
    • 字典.get(key,值)- 获取key对应的值,如果key不存在 返回指定的值
    dict3 = {'name': 100, 'age': 100, 'hah': 100}
    print(dict3.get('name1')) #None
    print(dict3.get('name1','不存在'))# 不存在
    
    5.keys,value,items
    • 字典.keys()- 获取字典所有的key(返回序列,序列中的元素就是字典的key)
    • 字典.values()- 获取字典所有的值(返回序列,序列中的元素就是字典的值)
    • 字典.items()- 获取字典多有的键值对(返回序列,序列中的元素是元祖,元祖中元素有两个,分别是key和value。)
    dict3 = {'name': 100, 'age': 100, 'hah': 100}
    dict4 = dict3.keys() #返回的是序列 不是列表
    print(dict4)
    print(dict3.values())
    print(dict3.items())
    for item in dict4:
        print(item)
    
    6.setdefault(key,value)
    • 字典.setdefault(key,value) - 给字典添加键值对,如果key本来存在,不会修改这个key的值,对原字典无影响
    dict3 = {'name': 100, 'age': 100, 'hah': 100}
    dict3.setdefault('aq','200')
    print(dict3) #{'name': 100, 'age': 100, 'hah': 100, 'aq': '200'}
    dict3.setdefault('age','200')
    print(dict3) #{'name': 100, 'age': 100, 'hah': 100, 'aq': '200'}
    

    二、集合

    1.什么是集合(set)

    • 集合是python内置的一个容器类的数据类型,是可变,无序的
    • 字面量 - {} 使用大括号括起来 里面有多个元素,多个元素之间使用逗号隔开
    • **元素 **- 不是键值对,必须是不可变的,而且是唯一的
    set1 = {1,2,3,'s',True}
    
    set3 = set() #创建空集
    print(type(set3),set3)
    
    

    2.集合的增删改查

    a.查(获取集合元素)
    • 不能直接获取集合中单独的某个元素,只能遍历
    set1 = {1,2,3,'s',True}
    for item in set1:
        print(item)
    
    b.增(添加元素)
    • 集合.add(元素)- 将指定元素添加到集合中
    • 集合.update(序列)- 将序列中的元素添加到集合
    set1.add(50)
    print(set1)#{1, 2, 3, 50, 's'}
    set1.update([22,55])
    print(set1)#{1, 2, 3, 50, 22, 55, 's'}
    
    c.删(删除元素)
    • 集合.remove(元素)- 删除集合中指定的元素
    set1.remove(55)
    print(set1)#{1, 2, 3, 's', 50, 22}
    
    
    d.改 - 集合不能修改元素的值

    3.集合的运算方法 + * in not in len() set() max() min()

    4.数学集合运算

    • python中的集合支持数学相关的集合运算
    1.包含

    集合1 >= 集合2 判断集合1是否包含集合2 (集合2是否是集合1的子集)
    **集合1 <= 集合2 ** 判断集合2是否包含集合1 (集合1是否是集合2的子集)

    print({1,2,3} >= {1,2}) #True
    print({1,2,3} >= {1,2,4})#False
    print({1,2,3} <= {1,2})#False
    print({1,2,3} <= {1,2,3,4})#True
    
    
    2.并集

    集合1 | 集合2 - 将两个集合中的元素合并在一起产生一个新的集合

    3.交集

    **集合1 & 集合2 **- 使用两个集合中公共的元素,创建一个新的集合

    4.差集

    集合1 - 集合2 - 将集合1除了集合2的部分外 创建一个新的集合

    5.补集

    集合1 ^ 集合2 - 将两个集合中除了公共部分以外的元素创建一个新的集合

    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7}
    print(set1 | set2) #{1, 2, 3, 4, 5, 6, 7}
    print(set1 & set2) #{4, 5}
    print(set1 - set2) #{1, 2, 3}
    print(set1 ^ set2) #{1, 2, 3, 6, 7}
    

    相关文章

      网友评论

          本文标题:python字典、集合总结

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