一、定义:

  

二、基本操作:

    

三、运算:

    交集&, 并集|, 补集-, 对称补集^, 子集<   超集>

四、集合推导式:

    

五、固定集合 frozenset

    

六、基本代码:

  

# 1. 创建空集合
s01 = set()
# 2. 创建具有默认值的集合
s01 = {1,2,3,4}
# print(type(s01))
# 3. 其他容器 -->  集合
s02 = set("abcdace")
s02 = set([1,7,56,8,7,8])
# 集合 --> 其他容器  
l02 = list(s02)
t02 = tuple(s02)
# 4. 添加
s02.add("a")
s02.add("b")
s02.add("c")
print(s02)# {1, 7, 8, 'c', 'b', 56, 'a'} # 5. 删除
# s02.remove(7)
# s02.remove(9) # 如果该元素不存在,则错误. # if 9 in s02:
# s02.remove(9) s02.discard("a") # 如果该元素不存在,不会错误.
print(s02) # 6. 获取所有元素
for item in s02:
print(item) # 7. 计算
s03 = {1,2,3}
s04 = {2,3,4} # 交集
s05 = s03 & s04
print(s05)# {1, 2} # 并集
s05 = s03 | s04
print(s05) # {1, 2, 3, 4} # 补集
s05 = s03 ^ s04
print(s05) # {1, 4} s05 = s03 - s04
print(s05) # {1} s05 = s04 - s03
print(s05) # {4} # 子集 超集
s06 = {1,2,3}
s07 = {1,2}
re = s07 < s06 # True 说明s07 是  s06 的子集
re = s06 > s07 # True 说明s06 是  s07 的超集
print(re) # 相同  不同
s08 = {1,2,3}
s09 = {1,2,3}
re = s08 != s09 # True 说明s08 与  s09 相同
print(re)

  

"""
固定集合
"""
f01 = frozenset([1,2,2,4])
print(type(f01))
print(f01)

七、实例:

  1、练习1:在控制台中随意录入多个字符串.按q退出,再显示所有不重复的字符串

    

set_target = set()
while True:
str_input = input("请随意输入:")
if str_input == "q":
break
set_target.add(str_input) for item in set_target:
print(item)

  2、练习2:经理:[曹操,刘备,孙权]  技术员:[曹操,刘备,张飞,关羽]

    1. 即是经理也是技术员的有谁?
    2. 是经理,但不是技术员的有谁?
    3. 是技术员,但不是经理的有谁?
    4. 张飞是经理吗?
    5. 身兼一职的都有谁?
    6. 经理和技术员总共有多少人?

    

list01 = ["曹操","刘备","孙权"]
list02 = ["曹操","刘备","张飞","关羽"] set01 = frozenset(list01)
set02 = frozenset(list02)
#1. 即是经理也是技术员的有谁?
print(set01 & set02) #2. 是经理,但不是技术员的有谁?
print(set01 - set02) #3. 是技术员,但不是经理的有谁?
print(set02 - set01) #4. 张飞是经理吗?
print("张飞" in set01) #5. 身兼一职的都有谁?
print(set02 ^ set01) #6. 经理和技术员总共有多少人?
print(len(set02 | set01))

    

Python基础之集合的更多相关文章

  1. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  2. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

  3. python 基础 set 集合类型补充

    为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...

  4. python基础08_set集合

    关于前几次课的回顾: #!/usr/bin/env python # coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典 ## 不可变:字符串, 数字, 元组 na ...

  5. python基础七--集合

    12.221.昨日内容回顾 小数据池: int:-5--256 str:1.不能有特殊字符 2.*int不能超过20 编码:所能看到的最小构成单位叫字符 ascii : 8位 1字节 表示1个字符 u ...

  6. Python基础入门-集合

    今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合.在python中集合(set)是由一个个键组成的,但 ...

  7. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

  8. Python基础-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

  9. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  10. Python基础操作-集合

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...

随机推荐

  1. javascript节点移除

    var itemdel = document.getElementById("test"); itemdel.removeChild(lis[0]); 兼容性较好 itemdel. ...

  2. 液晶流在齐次 Besov 空间中的正则性准则

    在 [Zhang, Zujin. Regularity criteria for the three dimensional Ericksen–Leslie system in homogeneous ...

  3. [再寄小读者之数学篇](2014-06-22 不等式 [中国科学技术大学2011年高等数学B考研试题])

    证明不等式: $$\bex 1+x\ln\sex{x+\sqrt{1+x^2}}>\sqrt{1+x^2},\quad x>0. \eex$$ 证明: 令 $x=\tan t,\ 0< ...

  4. Java Swing实现一个简单而优美的记事本( 较详细注释 )

    Java Swing实现具有基本功能的记事本 目前实现了: 文件 新建 打开 保存 退出前保存询问 编辑 剪切 复制 粘贴 清除 撤销 格式 字体选择 字体颜色选择 帮助 关于 (样式采用了css与h ...

  5. PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

    sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于 ...

  6. Lua中的闭包

    [什么是闭包?] 闭包在Lua中是一个非常重要的概念,闭包是由函数和与其相关的引用环境组合而成的实体.我们再来看一段代码: function newCounter() return function ...

  7. Vuex数据可视化

    参考:https://gitee.com/hjm100/codes/46towe9v28a1bxfqhc7kl34 Vuex虽然能存储数据,但是一刷新就没有了,如果要实现数据持久化,就需要用vuex- ...

  8. 命令制作Mac系统U盘启动

    命令 sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Vol ...

  9. c/c++/java如何访问数据库(优秀博文)

    (下面是c++)  https://www.cnblogs.com/47088845/p/5706496.html  https://www.cnblogs.com/shiyingzhi/p/7896 ...

  10. oracle dmp文件导出与导入

    ORACLE 10g导入 ORACLE 11g 一.expdp.sh导出dmp文件export PATH=$PATH:$HOME/binexport ORACLE_BASE=/oracleexport ...