day8-集合和字符串
什么是集合(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-集合和字符串相关推荐
- Day8 - 集合和字符串
集合和字符串 一.集合(set) 1. 什么是集合(set) 1)空集合 2)集合无序 3)集合的元素是不可变的数据 4)集合元素是唯一的 -- 集合自带去重功能 2. 集合元素的增删改查 1)查 - ...
- Day8 元组,集合,字符串
Day 8 元组,集合,字符串 1.元组 1. 什么是元组?(tuple) 元组是容器(序列),将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,-) 2.元组作为容器的特点 1 ...
- python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....
Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...
- java集合转字符串拼接_关于集合和字符串的互转实现方法
今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.stringutils; 有这么一个简单的方法:string s ...
- python基础语法合集-Python基础语法(四)—列表、元组、字典、集合、字符串
列表 基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制: 列表索引值以0为开始值,-1为从未尾的开始位置. 列表可以使用+操作符进行拼接,使用*表示重复. 当列表元素增 ...
- OpenCASCADE:Foundation Classes之集合、字符串、数量和单位转换
OpenCASCADE:Foundation Classes之集合.字符串.数量和单位转换 集合 概述 数组和序列 maps 迭代器 分配器 Acceleration结构 标准对象的集合 字符串 数量 ...
- python总结字典集合列表_python 列表,元组,字典,集合,字符串相互转换
本文主要介绍列表,元组,字典,集合以及和字符串之间的相互转换. 1. 列表与元组的互换 # 将列表转化为元组 li = [1, 2, 3] t = tuple(li) print(t, type(t) ...
- python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...
[简答题]实例1:求两数相除的结果. 先后输入2个数据,计算第一个数除以第二个数的结果. 要求能够处理输入数据为非数字.除数为零.文件末尾EndOfFile 和用户使用Ctrl + C 命令终止程序等 ...
- ArrayList去除集合中字符串的重复值
/* * 需求:ArrayList去除集合中字符串的重复值 * * 分析: * 1.创建一个集合对象 * 2.添加多个字符串元素 * 3.创建一个新的集合 * 4.拿旧集合中的元素到新集合中去找 * ...
- python定义字典列表_Python基础语法(四)—列表、元组、字典、集合、字符串
列表 基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制: 列表索引值以0为开始值,-1为从未尾的开始位置. 列表可以使用+操作符进行拼接,使用*表示重复. 当列表元素增 ...
最新文章
- Leetcode::Balanced Binary Tree
- 用python正确的获取文件最后被修改的时间
- JAVA只要掌握内部类,多继承和单继承都不是问题
- C++自学06:sizeof运算符
- gtk-vnc linux,vncviewer远程链接桌面linux
- c#初学-select和Dictionary字典在c#中的用法
- 【JAVA】线程安全的案例
- composer 介绍及安装
- 前端工具,网址推荐,方便开发,学习。
- 运动会管理系统的需求调研会纪要
- c语言实现扫雷小游戏和扫雷源代码
- mysql的三表查询语句_求三表联合查询的SQL查询语句
- R7900P/R7960P/R8000P梅林固件
- 如何使LED灯泡变暗---凯利讯半导体
- Baize_ServoDriver_esp32——arduino 32路舵机驱动板(esp32主控,免费开源,附程序、固件)
- python控制鼠标移动并点击_python模拟鼠标点击和键盘输入的操作
- 官方文档-丰富你的数据
- 笨办法学Python3——习题33(巩固练习)
- ARDUINO使用MLX90614红外温度传感器研究笔记
- bjfu oj 1011 将浮点数转换为分数相除的形式