python中集合、字符和字符串相关操作

本文介绍了Python中的集合、字符和字符串相关操作。集合是可变且无序的数据类型,支持数学集合运算如子集、并集、交集等。字符包括普通字符和转义字符,转义字符如 表示换行。字符串是不可变的,可以使用chr和ord函数处理字符编码,常见的字符编码表有ASCII和Unicode。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合

集合(set)的概念

  1. 集合是容器型数据类型;将{}作为容器的标志,多个元素用逗号隔开:

{元素1,元素2,元素3…}

  1. 集合是可变的;无序的;

  2. 元素:不可变,唯一的(和字典中的key要求一样)

ps:

x={}      #{}是空字典
y=set()   #空集合

集合的增删改查
1)查 - 遍历(输出结果是无序的)

set1={10,20,31,90}
for x in set1:
    print(x)

2)增
集合.add(元素) - 在集合中添加元素

set1.add(100)

集合.update(序列) -将序列中所有元素添加到集合中

set1.update('abc')

3)删
集合.remove(元素) -删除指定元素,如果元素不存在会报错

set1.remove(100)

集合.discard(元素) -删除指定元素,如果元素不存在不会报错

set1.discard('a')

4)改 -无法修改元素
数学集合运算
python中的集合支持数学集合运算:子集(>,<)、真子集(>=,<=)、并集(|)、

交集(&)

1)子集

print({1,2,3}>{1,2})  #True

2)真子集

print({1,2,3}>={1,2,3})  #True

3)并集

set1={1,2,3}
set2={5,6,1}
print(set1|set2)  #{1, 2, 3, 5, 6}

4)交集

set1={1,2,3}
set2={5,6,1}
print(set1&set2)  #{1}

5)差集

set1={1,2,3}
set2={5,6,1}
print(set1-set2)    #{2, 3}

6)对称差集

set1={1,2,3}
set2={5,6,1}
print(set1^set2)    #{2, 3, 5, 6}

字符

1)普通字符:包含所有的符号,例如:数字、字母、中文、各种图形符号等。
2)转义字符:和\结合后具有特殊功能和特殊意义的字符,就是转义字符。(转义字符不是python中的概念)
\n - 换行
\t - 一个水平制表符(相当于按一次tab键)
\’ - 一个单引号字符
" - 一个双引号字符
\ - 一个反斜杠字符
\u4位的十六进制数 - 编码字符

注意:任何一个转义字符的长度是1
python在字符串的最前面加r/R,可以让所有转义字符的功能消失

字符串

定义:

  • 字符串是容器型数据类型;以’‘或者 “” 或者’’’ ‘’’ 或者 “”" “”" 作为容器标志,里面多个字符(任意符号)
  • 不可变的(不支持增删改);
  • 字符串的元素:字符串的每个基本单元,字符(任何符号都可以)

获取字符

  • 字符串获取字符和列表获取元素的方法一样
str1='afafvsv'
print(str1[2])

2.chr函数

chr(函数)   - 获取编码值对应的字符

ord函数

ord(字符) - 获取字符的编码值

比较运算

两个字符串比较大小比较的是第一对不相等的字符的编码值大小
判断是否是小写字母:'a'<=x<='z'
判断是否是大写字母:'A'<=x<='Z'
判断是否是字母:'a'<=x<='z' or 'A'<=x<='Z'
判断是否是数字:'0'<=x<='9'
判断是否是中文字符:'\u4e00'<=x<='\u9fa5'

字符编码

1)字符编码
为了能够让计算机存储字符,我们给每个字符关联一个具体的数字,在需要存储字符的时候就存储字符对应的数字。
每个字符对应的数字就是字符的编码值。

2)编码表
保存字符和数字的一一对应关系的表就是字符编码表,常用的字符编码表有两种:ASCII码表、Unicode编码表

  • ASCII码表:采用1个字节对128个字符进行编码,其中包括常用的英文符号、数字和字母。其他数字的编码在字母的编码的前面,大写字母的编码在小写字母编码的前面,
    大小写字母的编码不连续

  • Unicode编码表:叫万国码,包含了世界上所有国家所有民族的所有语言的符号。前128个字符就是ASCII码表中的字符

    其中中文的编码范围是4e00~9fa5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值