集合

认识集合

1.认识集合(set)

  1. 集合是容器型数据类型,将{}作为容器的标志里面多个数据用逗号隔开:{数据1, 数据2, 数据3,…}
  2. 可变的(支持增删改);无序(不支持下标操作)
  3. 元素的要求:
    • 必须是不可变的数据
    • 元素是唯一
# 空集合
set1 = set()
print(type(set1), len(set1))# 集合是无序的
print({1, 2, 3} == {3, 2, 1})       # True# 集合元素必须是不可变类型的数据
set1 = {1, 'acb', True, (10, 20)}
print(set1)# set2 = {1, 'acb', True, [10, 20]}     # 报错!# 集合元素是唯一
set3 = {10, 20, 10, 20, 30, 10}
print(set3)     # {10, 20, 30}names = ['张三', '李四', '张三', '王五', '张三']
print(set(names))

2.集合的增删改查(不重要)

  1. 查 - 只能遍历

    补充:用for循环遍历无序序列的时候,系统在遍历之前会自动将无序序列转换成列表,然后再遍历列表

    • 集合.add(元素) - 添加指定元素
    • 集合.update(序列) - 将序列中所有的元素都添加到集合中
  2. 集合.remove(元素)

3.数学集合运算

python中使用的集合和数学集合是一个东西,并且支持数学集合运算

python支持的数学集合运算:交集(&)、并集(|)、差集(-)、对称差集(^)、子集(>=、<=)、真子集(>、<)

  1. 交集 - 获取两个集合的公共部分

  2. 并集 - 将两个集合合并成一个集合

  3. 差集

    集合1 - 集合2 - 获取集合1中去掉包含在集合2中的部分剩下的部分

  4. 对称差集 - 将两个集合合并然后去掉公共部分

  5. 子集和真子集

    • 集合1 > 集合2 - 判断集合2是否是集合1的真子集
    • 集合1 < 集合2 - 判断集合1是否是集合2的真子集
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7, 8}print(set1 & set2)      # {3, 4, 5}print(set1 | set2)      # {1, 2, 3, 4, 5, 6, 7, 8}print(set1 - set2)      # {1, 2}
print(set2 - set1)      # {8, 6, 7}print(set1 ^ set2)      # {1, 2, 6, 7, 8}print({1, 2} < {1, 2, 3})       # True
print({100, 200, 300, 400, 1, 2} > {1, 2})      # True# {1, 2, 3}  真子集: {}、{1}、{2}、{3}, {1, 2}、{1, 3}、{2, 3}
# {1, 2, 3}  子集: {}、{1}、{2}、{3}, {1, 2}、{1, 3}、{2, 3}, {1, 2, 3}
# 练习:用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
python = {'stu1', 'stu3', 'stu4', 'stu6', 'stu9', 'stu10'}
java = {'stu2', 'stu3', 'stu5', 'stu6', 'stu9', 'stu10'}
h5 = {'stu2', 'stu4', 'stu6', 'stu7', 'stu8', 'stu10'}# 1. 求选课学生总共有多少人
set1 = python | java | h5
print(len(set1))# 2. 求只选了第一个学科的人的数量和对应的名字
set2 = python - java - h5
print(set2)# 5. 求选了三门学生的学生的数量和对应的名字
set3 = python & java & h5
print(set3)# 3. 求只选了一门学科的学生的数量和对应的名字
set4 = python ^ java ^ h5 - set3
print(set4)# 4. 求只选了两门学科的学生的数量和对应的名字
set5 = set1 - set3 - set4
print(set5)

字符串

字符串和字符

1.什么是字符串(str)

  1. 字符串是容器型数据类型;将’’、""、’’’’’’、""""""作为容器的标志,引号里面的每一个符号都是字符串的元素(字符串的元素又叫字符)
  2. 不可变的(不支持增删改)、有序的(支持下标操作)
  3. 字符串的元素:一切符号都可以作为字符串的元素,字符串的元素又叫字符。字符分为两种:普通字符和转义字符
# 三个引号和一个引号的区别:
str1 = 'abcsdfa'
str2 = "abc123"str3 = '''abc123
阿士大夫和
阿士大夫和
爱撒娇是'''str4 = """man爱斯达克加分号asd阿萨德发卡号阿萨德发卡号
"""
print(type(str3), type(str4))       # <class 'str'> <class 'str'># 空串
str5 = ''
print(len(str5))        # 0str6 = ' '
print(len(str6))        # 1# 字符可以是任何符号
str7 = 'sfhJAMF234沙士大夫~!@#$%([}❀												

Python集合和字符串及练习相关推荐

  1. python集合加个逗号_8.Python集合与字符串

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  2. python集合应用场景_8.Python集合与字符串

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  3. python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....

    Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...

  4. python基础语法合集-Python基础语法(四)—列表、元组、字典、集合、字符串

    列表 基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制: 列表索引值以0为开始值,-1为从未尾的开始位置. 列表可以使用+操作符进行拼接,使用*表示重复. 当列表元素增 ...

  5. python总结字典集合列表_python 列表,元组,字典,集合,字符串相互转换

    本文主要介绍列表,元组,字典,集合以及和字符串之间的相互转换. 1. 列表与元组的互换 # 将列表转化为元组 li = [1, 2, 3] t = tuple(li) print(t, type(t) ...

  6. python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...

    [简答题]实例1:求两数相除的结果. 先后输入2个数据,计算第一个数除以第二个数的结果. 要求能够处理输入数据为非数字.除数为零.文件末尾EndOfFile 和用户使用Ctrl + C 命令终止程序等 ...

  7. python列表添加字符串_2.python基础之—列表,元组,字典,集合,字符串的使用方法...

    一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. ...

  8. python定义字典列表_Python基础语法(四)—列表、元组、字典、集合、字符串

    列表 基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制: 列表索引值以0为开始值,-1为从未尾的开始位置. 列表可以使用+操作符进行拼接,使用*表示重复. 当列表元素增 ...

  9. python 元组 列表 字典区别_Python列表、元组、字典、集合、字符串的异同总结

    1.数据类型 列表.元组.字典.集合.字符串均属于python3的标准数据类型. 字符串和元组属于不可变数据,即创建后不可修改. 列表.字典.集合属于可变数据,即创建后可以修改元素. 2.创建有元素的 ...

最新文章

  1. 使用logminer进行审计 Audit by using logminer
  2. Unity3D去掉全屏时的屏幕黑边
  3. system函数和fork-exec机制
  4. 从《黎明杀机》看非对称对抗游戏的魅力
  5. MFC和QT等UI框架的特点
  6. 【Alpha阶段汇总】成果展示与体验总结
  7. 蓝桥杯基础模块8_2:串口进阶
  8. Activity的LaunchMode和taskAffinity
  9. 程序员面试金典 - 面试题 01.03. URL化(字符串)
  10. 局部变量和成员变量的区别
  11. django xadmin 集成DjangoUeditor富文本编辑器
  12. IntelliJ IDEA 中 右键新建时,选项没有Java class
  13. 基于Python的面部表情识别分析系统
  14. IEEE 浮点数编码规则
  15. STM32简介(系统结构、引脚定义……)
  16. flask-uploads
  17. 用计算机计算勾股定理,勾股定理电脑计算器
  18. 4.widows对象
  19. php silk文件转换mp3,微信小程序silk录音文件转mp3
  20. 红米note9pro和华为Nova8哪个好 红米note9pro和华为Nova8哪个更加值得入手

热门文章

  1. 成都计算机博士点,2017学位授权审核结果公示!快看四川高校新增哪些博士点?...
  2. 千兆宽带只剩下百兆了,记录一次排查过程
  3. 像素是什么意思,像素与分辨率的区别
  4. 浔阳江头夜送客,枫叶荻花秋瑟瑟——python标准输入、标准输出和注释
  5. 互联网行测笔试题之最头疼的找规律
  6. 一起去追寻那大漠孤烟
  7. 二选一的时候到了,Qt Widgets 还是 Qt Quick ? 致Qt开发伙伴
  8. cpld xilinx 定义全局时钟_Xilinx+CPLD介绍
  9. Leetcode 875:爱吃香蕉的珂珂 Koko Eating Bananas
  10. 22考研清华905机械设计基础上岸经验分享