美文网首页
Python学习笔记-集合和字典

Python学习笔记-集合和字典

作者: 土豆吞噬者 | 来源:发表于2019-09-27 18:59 被阅读0次

    集合

    集合写在大括号里,元素之间用逗号隔开,创建一个空集合必须用 set() 而不是 { },因为因为 { } 是用来创建一个空字典。

    使用add()添加元素到集合,如果元素已存在,则不进行任何操作。update()也可以添加元素到集合,其参数可以是列表,元组,字典等并且可以有多个。

    value=set()
    value.add(1)
    value.add(2)
    value.add(2)
    print(value)  # {1, 2}
    value.update([2,3,4])
    print(value)  # {1, 2, 3, 4}
    value.update([3,4],(5,6))
    print(value)  # {1, 2, 3, 4, 5, 6}
    

    使用remove()从集合中移除元素,如果元素不存在则会报错,discard()也能从集合中移除元素,且元素不存在不会报错,我们还可以使用pop()随机删除一个元素,判断元素是否在集合中存在使用in,清空集合使用clear()。

    value={1,2,3,4,5}
    value.remove(1)
    print(value)  # {2, 3, 4, 5}
    value.discard(20)
    value.pop()  # 有些情况下是删除第一个元素
    print(value)  # {3, 4, 5}
    if 5 in value:
        print("5 in set")
    value.clear()
    print(len(value))
    

    使用运算符可以计算两个集合的差集,并集,交集。

    set1={1,2,3,4,5}
    set2={4,5,6,7}
    # 记A和B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A和集合B的差集。
    print(set1-set2)  # {1, 2, 3}差集
    print(set2-set1)  # {6, 7}差集
    print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7}并集
    print(set1 & set2)  # {4, 5}交集
    print(set1 ^ set2)  # {1, 2, 3, 6, 7}set1和set2中不同时存在的元素
    

    字典

    字典是是一个无序的 键(key) : 值(value) 的集合,写在大括号里,key-value之间用逗号隔开,值可以取任何数据类型,但键必须是可哈希的,例如字符串,数字。

    字典的访问和修改和其它语言没什么区别,使用del删除字典中的元素,clear()清空字典。

    dict={"xiaoming":20,"xiaohong":60,"xiaoqiang":98}
    print(dict["xiaoming"])  # 20
    dict["xiaoming"]=100
    print(dict["xiaoming"])  # 100
    print(len(dict))  # 3
    del dict["xiaoming"]
    print(len(dict))  # 2
    dict.clear()
    print(len(dict))  # 0
    

    可以单独遍历字典的键或值,也可以一起遍历。

    dict={"xiaoming":20,"xiaohong":60,"xiaoqiang":98}
    for key in dict:
        print(key+":"+str(dict[key]))
    for key in dict.keys():
        print(key + ":" + str(dict[key]))
    for value in dict.values():
        print(value)
    for key,value in dict.items():
        print(key + ":" + str(value))
    

    相关文章

      网友评论

          本文标题:Python学习笔记-集合和字典

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