分分钟钟学会Python - 数据类型(set)

@

今日内容

  • 集合(set)

具体内容

1.集合含义

  • 一个无序的不重复元素序列。

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

  • 空集合:set()

  • 基本格式

    a = {1,2,3,4,5,6}
    parame = {value01,value02,...}
    # 或者
    set(value01,value02,...)

2.独有方法

  • "add()" ,添加:所添加值没有原值输出、新值增加

    info = {"name",'li','age',18,'gender','男',}
    info.add(11)
    print(info)       # {'li', 11, 18, '男', 'gender', 'age', 'name'}
  • ​"discard()" ,删除:所删除值没有原值输出、不会报错

    info = {"name",'li','age',18,'gender','男',}
    info.discard(18)
    print(info)       #{'男', 'li', 'name', 'age', 'gender'}键
  • "update()" ,批量添加。

info = {"name",'li','age',18,'gender','男',}
del info['gender']
print(info)   # {'name': 'li', 'age': 18}
  • "intersection()" ,交集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.intersection({1,'li','男'})
    print(result) # {'li', '男'}
  • "union()" ,并集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.union({1,'li','男'})
    print(result) # {'gender', 1, '男', 18, 'name', 'age', 'li'}
  • "difference()" ,差集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.difference({1,'li','男'})
    print(result) # {'name', 18, 'age', 'gender'}
  • "symmetric_difference()" ,对称差集:生成新值。括号里可以列表、集合、元祖。

    info = {"name",'li','age',18,'gender','男',}
    result = info.symmetric_difference({1,'li','男'})
    print(result) # {1, 'name', 'gender', 18, 'age'}

3.公共方法

  • len

    info = {"name",'li','age',18,'gender','男',}
    print(len(info))  # 6
  • for 循环

    info = {"name",'li','age',18,'gender','男',}
    for a in info:
        print(a)  # 循环打印出所有元素

4.特殊情况

  • 1、集合与列表取交集

    info = {"name",'li','age',18,'gender','男',}
    result = info.intersection([1,'li','男'])
    print(result) # {'li', '男'}   # {'li', '男'}
  • 2.集合中出现0与False(谁在前输出谁)

    info = {0, 2, 3, 4, False, "国风", None, (1, 2, 3)}
    print(info)       # {0, '国风', 2, 3, 4, None, (1, 2, 3)}
  • 3.字典中1与Ture同时为键(谁在前把后面值赋给前面的键)

    info = {
        1:'alex',
        True:'oldboy'
    }
    print(info)       # {1: 'oldboy'}

5.总结

    1. 列表/字典/集合 -> 不能放在集合中+不能作为字典的key(unhashable)
    2. hash(哈希):因为在内部会将值进行哈希算法并得到一个数值(对应内存地址),以后用于快速查找。
上一篇:Python之路,第六篇:Python入门与基础6


下一篇:Python 编程规范-----转载