zoukankan      html  css  js  c++  java
  • python基础-基本数据类型:集合

    # 集合:它也是一种容器类型,可以存储多个数据,表现形式: {1, 3, 4, ...}

    # 集合的作用:1、利用集合对容器类型的中数据可以去重
    # 2、利用集合进行关系运算

    # 集合特点:
    # 1. 无序
    # 2. 数据是唯一,不重复
    # 3. 集合也是一个可变类型

    # 定义集合
    my_set = {"a", 'b', 1, 2}

    print(my_set, type(my_set))

    print("修改前my_set:", my_set, id(my_set))

    # 集合添加数据的操作
    my_set.add("c")

    print("修改后my_set:", my_set, id(my_set))
    # 删除数据
    my_set.remove(1)
    print("修改后my_set:", my_set, id(my_set))

    # 4、集合的内置方法
    # 关系运算
    set1 = {"a","k","j","e"}
    set2 = {"b","c","j","e"}

    # 4.1 取交集:&
    result=set1 & set2
    print(result)
    print(set1.intersection(set2))
    # 4.2 取并集/合集:|
    print(set1 | set2)
    print(set1.union(set2))

    # 4.3 取差集:-
    print(set1 - set2)
    print(set1.difference(set2))

    print(set2 - set1)
    print(set2.difference(set1))

    # 4.4 对称差集:^
    print(set1 ^ set2)
    print(set1.symmetric_difference(set2))

    # 4.5 父子集:
    s1={1,2,3}
    s2={1,2,4}
    print(s1 > s2) # s1是父集
    print(s1 < s2) #s1是s2的子集

    s1={1,2,3}
    s2={1,2}
    print(s1 > s2) # 当s1大于或等于s2时,才能说是s1是s2他爹
    print(s1.issuperset(s2))
    print(s2.issubset(s1)) # s2 < s2 =>True

    s1={1,2,3}
    s2={1,2,3}
    print(s1 == s2) # s1与s2互为父子
    print(s1.issuperset(s2))
    print(s2.issuperset(s1))

    # 集合的注意点
    # 1. 不能通过下标获取和修改集合中的数据
    # 2. 定义一个空的集合,需要使用set(), 不能直接使用: {}表示字典
    # 3. 扩展-- 集合里面只能存储不可变类型(数字,字符串,元组,range)

    my_set1 = {1, 2, 'b', 'a'}

    # 错误的演示
    # result = my_set1[1]
    # print(result)

    # my_set1[2] = 4

    # 定义空的集合
    my_set2 = set() # 不能使用大括号创建集合 {}
    print(my_set2, type(my_set2))


    # 想要获取集合中的数据
    # 1. for遍历
    # 2. 拆包
    # for value in my_set4:
    # print(value)

    v1, v2, v3, v4 = my_set4
    print(v1, v2, v3, v4)

    # 扩展:间接修改集合中的数据

    my_set4.remove(1)
    my_set4.add(5)
    print(my_set4)

    # 扩展: 清空集合中的数据

    my_set5 = {1, 'a'}
    print(my_set5)

    my_set5.clear()

    print(my_set5)

    my_list = [1, 3, 1]

    # 把列表转成集合,就可以对列表中的数据进行去重操作
    new_set = set(my_list)

    print(new_set, type(new_set))
    # 把集合可以转成list
    new_list = list(new_set)
    print(new_list, type(new_list))

    my_tuple = (1, 'a', 1, 'a')

    # 把元组转成集合
    new_set = set(my_tuple)
    print(new_set, type(new_set))
    # 把集合转成元组
    new_tuple = tuple(new_set)
    print(new_tuple, type(new_tuple))


    # 总结: 列表、元组、集合三者之间可以相互进行类型转换

    my_list = [1, 4]
    new_tuple = tuple(my_list)
    print(new_tuple, type(new_tuple))


    new_list = list(new_tuple)
    print(new_list, type(new_list))


    # 这样不可以转成set
    # my_list = [[1,2], [3, 4]]
    # set(my_list)
  • 相关阅读:
    FastReport.Net使用:[13]如何使用表达式
    FastReport.Net使用:[11]公共对象属性介绍
    FastReport.Net使用:[10]报表栏目说明
    FastReport.Net使用:[9]多栏报表(多列报表)
    FastReport.Net使用:[8]交叉表一
    FastReport.Net使用:[7]打印空白行
    FastReport.Net使用:[6]HTML标签使用
    测试,测试开发,QA,QM,QC--------- 测试之路勿跑偏
    java 接口自动化测试之数据请求的简单封装
    java HttpClient POST请求
  • 原文地址:https://www.cnblogs.com/dingbei/p/12487097.html
Copyright © 2011-2022 走看看