什么是集合(set)

集合是容器型数据类型,将{}作为容器的标志:{元素1,元素2,元素3,…}

集合是可变的,无序的

元素 - 必须是不可变类型的数据;唯一的(自带去重功能)

空集合
s1 = set()print(len(s1), type(s1))
集合无序
print{1,2,3} == {3,2,1}        #True
集合的元素是不可变的数据
s1 = {10,2.3,'abc',(10,20)}
s1 = {10,2.3,'abc',[10,20]}      #报错!列表不可以作为集合的元素
集合元素是唯一的 - 集合自带去重的功能(前提是不可变的数据)
s1 = {10,20,30,10,10}
print(s1)       #{10,20,30}

集合元素的增删改查

1)查 - 只有遍历

for 元素 in 集合:

​ 循环体

s1 = {'穿越火线', '红警', '原神', '诛仙', '传奇'}
for x in s1:
print('x:', x)

2) 增

集合.add(元素) - 将指定元素添加到集合中

s1.add('开心消消乐')
print(s1)       #{'穿越火线', '红警', '开心消消乐',   '原神', '诛仙', '传奇'}

集合.update(序列) - 将序列中的元素全部添加到集合中

s1.update(['英雄联盟', '王者荣耀'])
print(s1)       #{'穿越火线', '红警', '英雄联盟', '原神', '诛仙', '王者荣耀', '传奇'}

3)删

集合.remove(元素) - 删除指定元素;元素不存在报错

s1 = {'穿越火线', '红警', '原神', '诛仙', '传奇'}
s1.remove('红警')
print(s1)   #{'原神', '诛仙', '穿越火线', '传奇'}s1.remove('保卫罗卜')  #报错!

集合.discard(元素) - 删除指定元素;元素不存在不报错

s1.discard('诛仙')
print(s1)       #{'穿越火线', '原神', '传奇'}
s1.discard('保卫萝卜')    #{'原神', '穿越火线', '传奇'}

数学集合运算符

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

1.交集(&)

集合1 & 集合2 - 获取两个集合的公共部分

s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
print(s1 & s2)      #{3, 4, 5}
2.并集(|)

集合1 | 集合2 - 把两个集合合并成一个集合

s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
print(s1 | s2)      #{1, 2, 3, 4, 5, 6, 7}
3.差集(-)

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

print(s1 - s2)   #{1, 2}
print(s2 - s1)  #{6, 7}
4.对称差集(^)

集合1 ^ 集合2 - 合并两个集合去掉公共部分

print(s1 ^ s2)       #{1, 2, 6, 7}
5.子集和真子集

{1,2,3} 子集:{}、{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、{1,2,3}

{1,2,3} 真子集:{}、{1}、{2}、{3}、{1,2}、{1,3}、{2,3}

集合1 > 集合2 - 判断集合2是否是集合1的真子集

集合1 < 集合2 - 判断集合1是否是集合2的真子集

集合1 >= 集合2 - 判断集合2是否是集合1的子集

集合1 <= 集合2 - 判断集合1是否是集合2的子集

print({10,20,30} > {10})          #True
print({10,20,30} < {10})         #False
print({20,300,400} >= {20,300})     #True
print({20,300,400} <= {20,300})     #False

字符串与字符

什么是字符串(str)

字符串是容器型数据类型,将’ ‘、" " 、""" “”" 、’’’ ‘’'作为容器标志,里面每一个符号就是它的元素。

”“”开头或者’’'开头的字符串,可以直接在字符串内部通过回车直接换行,’ 开头和 “ 开头的字符串换行必须使用转义字符\n

特点:不可变的;有序的
元素(字符) - 就是引号中的每个符号,这里的符号分为两种 :

普通字符和转义字符

字符

字符就是字符串中的元素(引号中每个独立的符号)

1)普通字符 - 符号在字符串中表示符号本身
2)转义字符 - 在特定符号前加\用来表示特殊功能或者特殊意义的符号
转义字符 意义
\n 换行
\t 水平制表符(tab键)
\ ’ 一个单引号
\ " 一个双引号
\ \ 一个普通的 \

字符编码

1.编码字符 - 转义字符中的一种

\u四位的16进制数 - 表示的是16进制数作为编码值对应的字符

16进制数(每一位上的数是0-9或者a/A-f/F):af、9f4、23ac78

\u后面的四位字符必须是四位的16进制数

str1 = 'abc\u5fa5123'
print(str1)     #abc徥123

2.字符编码

计算机存储数据的时候只具备存储数字的能力;如果计算机要存储文字符号(字符)的时候,其实存的是这个符号对应的编码值

每个符号都对应一个固定的数字,当计算机要存储这个符号的时候就存这个符号对应的数字。每个符号对应的数字就是这个符号的编码值

3.字符编码表 - 存储了每个符号对应的编码值

1)ASCII码表

总共有128个字符,数字字符在大写字母的前面,大写字母在小写字母前面,大写字母和小写字母之间有间隙

2)Unicode编码表

包含了世界上所有国家所有名族所有语言的符号。

Unicode中包含了ASCII码表

中文编码范围:4e00 ~ 9fa5

字符编码相关操作
1)chr(编码值) - 获取编码值对应的字符
result = chr(97)
print(result)   #'a'result = chr(36)
print(result)   #'$'

python中16进制数的表示方式:0x十六进制数

result = chr(0x4e00)
print(result)       #'一'

#打印所有的中文

for x in range(0x4e00,0x9fa5):print(chr(x), end=' ')
2)ord(字符) - 获取字符对应的编码值
print(ord('a'))        #97
3)编码字符:\u四位的16进制编码值
str1 = '\u4e00\u0061'
print(str1)

字符串相关操作

1.查

字符串获取元素和列表获取元素的语法一样

str1 = 'you see see, one day day!'
print(str1[0], str1[-1])        # y !

注意:一个转义字符的长度是1

str1 = 'wk\nxxj'
print(len(str1))        #6
print(str1[1])          #k
print(str1[2:5])        #\nxx

2. +、*

print('abc' + '123')        #abc123
print('abc' * 3)          #abcabcabc

3.比较运算

print('abc' == 'acb')      #False
字符串比较大小:比较第一对不相等的字符的编码值的大小
print('mn123' > 'a123')       #True

判断字符的性质:

是否是数字字符:‘0’ <= x <= ‘9’

是否是大写字母:‘A’ <= x <= ‘Z’

是否是小写字母:‘a’ <= x <= ‘z’

是否是字母:‘A’ <= x <= ‘Z’ or ‘a’ <= x <= ‘z’

是否是中文:’\u4e00’ <= x <= ‘\u9af5’

#练习: 统计字符串中数字字符的个数

str1 = '手机号-2=skMs--90设计费64、、、0'
count = 0
for x in str1:if '0' <= x <= '9':count += 1
print(count)

4.in 和 not in

字符串1 in 字符串2 - 判断字符串2中是否存在字符串1(字符串2中是否包含字符串1)

print('ab' in 'abcd')        #True
print('ac' in 'abcd')       #False

5.相关函数

len(字符串)
str(数据) - 将数据转换成字符串
  • 任何类型的数据都可以转换成字符串
  • 转换的时候是直接在数据的打印值外面加引号

day8-集合和字符串相关推荐

  1. Day8 - 集合和字符串

    集合和字符串 一.集合(set) 1. 什么是集合(set) 1)空集合 2)集合无序 3)集合的元素是不可变的数据 4)集合元素是唯一的 -- 集合自带去重功能 2. 集合元素的增删改查 1)查 - ...

  2. Day8 元组,集合,字符串

    Day 8 元组,集合,字符串 1.元组 1. 什么是元组?(tuple) 元组是容器(序列),将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,-) 2.元组作为容器的特点 1 ...

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

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

  4. java集合转字符串拼接_关于集合和字符串的互转实现方法

    今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.stringutils; 有这么一个简单的方法:string s ...

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

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

  6. OpenCASCADE:Foundation Classes之集合、字符串、数量和单位转换

    OpenCASCADE:Foundation Classes之集合.字符串.数量和单位转换 集合 概述 数组和序列 maps 迭代器 分配器 Acceleration结构 标准对象的集合 字符串 数量 ...

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

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

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

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

  9. ArrayList去除集合中字符串的重复值

    /* * 需求:ArrayList去除集合中字符串的重复值 * * 分析: * 1.创建一个集合对象 * 2.添加多个字符串元素 * 3.创建一个新的集合 * 4.拿旧集合中的元素到新集合中去找 * ...

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

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

最新文章

  1. Leetcode::Balanced Binary Tree
  2. 用python正确的获取文件最后被修改的时间
  3. JAVA只要掌握内部类,多继承和单继承都不是问题
  4. C++自学06:sizeof运算符
  5. gtk-vnc linux,vncviewer远程链接桌面linux
  6. c#初学-select和Dictionary字典在c#中的用法
  7. 【JAVA】线程安全的案例
  8. composer 介绍及安装
  9. 前端工具,网址推荐,方便开发,学习。
  10. 运动会管理系统的需求调研会纪要
  11. c语言实现扫雷小游戏和扫雷源代码
  12. mysql的三表查询语句_求三表联合查询的SQL查询语句
  13. R7900P/R7960P/R8000P梅林固件
  14. 如何使LED灯泡变暗---凯利讯半导体
  15. Baize_ServoDriver_esp32——arduino 32路舵机驱动板(esp32主控,免费开源,附程序、固件)
  16. python控制鼠标移动并点击_python模拟鼠标点击和键盘输入的操作
  17. 官方文档-丰富你的数据
  18. 笨办法学Python3——习题33(巩固练习)
  19. ARDUINO使用MLX90614红外温度传感器研究笔记
  20. bjfu oj 1011 将浮点数转换为分数相除的形式

热门文章

  1. 31省份房地产开发企业资产负债实收资本资产总计累计折旧房本年折旧负债合计所有者权益资产负债率(1990-2022)
  2. 计算机图形学(二维、三维几何变换)
  3. Android安卓安全和隐私保护
  4. 未来十年是计算机,在未来的十年里计算机的作用有多大?
  5. 什么是哈希表?为什么要使用哈希表?哈希表的实现原理?哈希冲突怎么解决?
  6. CPSE2021 西部数据持续推动智慧视频行业发展 应对更严苛的数据流要求
  7. 电磁继电器和固态继电器区别
  8. Cloudin云英面试题:0的阶乘自然数e的意义
  9. 成天路由器,路由器究竟是什么
  10. BBdoc文档搜索 和 SearchMyFiles ,你选择哪个?