十、初识python-set(课时26)

    xiaoxiao2023-10-24  175

    集合的定义

    一堆确定的无序列的唯一的数据

    集合的特征

    内部无序,不能索引和切片元素有唯一性,可以用来排除重复数据内部之只能放置可哈希数据,即不可改变的数据结构,如str、tuple等

    集合的创建

    # 集合的创建 s = set() print(s) print(type(s)) s2 = {9,8,7,6,5,4,3,2,1} print(s2) print(type(s2)) #当只有一个大括号时为一个字典 s3 = {} print(s3) print(type(s3)) ''' set() <class 'set'> {1, 2, 3, 4, 5, 6, 7, 8, 9} <class 'set'> {} <class 'dict'> '''

    集合序列操作

    in,not in

    集合的遍历

    # for s = {888,66,8,7,"fsdf","fsdf,ds"} for i in s: print(i, end=" ") print() # 多重遍历 s = {(44,6),(55,7),(88,8)} for k,v in s: print(k, "---", v) for i in s: print(i) ''' fsdf,ds 66 7 8 fsdf 888 55 --- 7 44 --- 6 88 --- 8 (55, 7) (44, 6) (88, 8) '''

    集合的内涵

    s = {i for i in range(1,10)} print(s) #附带条件的变异 ss = {i for i in s if i % 2 == 0} print(ss) #多循环的变异 s1 = {1,2,3} s2 = {"hh","xx","qq"} s3 = {m * n for m in s1 for n in s2} s4 = {m * n for m in s1 for n in s2 if m == 2} print(s3) print(s4) ''' {1, 2, 3, 4, 5, 6, 7, 8, 9} {8, 2, 4, 6} {'xxxxxx', 'hhhh', 'xx', 'hhhhhh', 'xxxx', 'qqqq', 'hh', 'qq', 'qqqqqq'} {'xxxx', 'hhhh', 'qqqq'} '''

    集合/关于集合的函数

    len、max、min、clear、copy与前面所讲用法相同remove:删除指定的值,会报错 discard:删除集合中指定的值,不会报错 s = {1,2,3,4,5,67} s.discard(999) print(s) s.remove(999) print(s) ''' {1, 2, 3, 4, 5, 67} KeyError ''' pop 随机移除一个元素 s = {1,2,3,4,5,67} d = s.pop() print(d) print(s) ''' 1 {2, 3, 4, 5, 67} ''' 集合的运算 a = {1,2,3,4,5,67} b = {4,5,67} # intersection:交集 s1 = a.intersection(b) print(s1) # difference:差集 s2 = a.difference(b) print(s2) # union:并集 s3 = a.union(b) print(s3) # issubset:是否为子集 s4 = a.issubset(b) print(s4) # issuperset:是否为超集 s5 = a.issuperset(b) print(s5) ''' {67, 4, 5} {1, 2, 3} {1, 2, 3, 4, 5, 67} False True ''' # 运算的数学操作 # 并集 s_1 = a | b print(s_1) # 差集 s_2 = a - b print(s_2) # 交集 s_3 = a & b print(s_3) ''' {1, 2, 3, 4, 5, 67} {1, 2, 3} {67, 4, 5} '''

    frozen set:冰冻集合

    一种特殊集合,不可以进行任何修改的集合 s = frozenset() print(s) print(type(s)) ''' frozenset() <class 'frozenset'> '''
    最新回复(0)