字符串方法和散列类型-字典、集合

本文详细介绍了Python中的字符串操作,包括替换、大小写转换、去除空格、切割等,并探讨了字典和集合的使用,如增删改查、交并差集运算等。同时,讨论了序列类型、散列类型的特点和相关方法。

字符串 字符串本身不能够修改

##str1 = ‘hello world’

str1.replace(‘h’,‘a’) 替换,将h替换成a,原字符串不做更改

str1.replace(‘l’,‘c’,1) 默认符合条件会全部替换,第三个参数表示替换几个

str1.upper() 大写

str2.lower() 小写

str1.capitalize() 首字母大写

str1.title() 标题形式

##s = ’ hello world ’

s.strip() 去掉两边空格

s.lstrip() 去掉左边空格

s.rstrip() 去掉右边空格

str2 = ‘hello world this is python’

str2.split() 字符串切割,默认以空格作为切割符,切完之后的数据放在列表里面

str2.split(‘o’) 指定以o当做切割符

str2.split(‘o’,2) 也可以限定切割次数

‘he’.join(str2.split(‘this’)) join拼接,返回字符串

str2.index(‘h’) 查找,根据元素名称查找对应元素位置

str2.index(‘o’,5) 第二个参数表示从下标5的位置开始查找元素

index()如果没有找到元素,则报错

str2.find(‘o’,5) 如果元素没找到,则返回-1

判断全是中文或者字母组成

‘hello world’.isalpha() False 空格是字符,但空格不是字母

判断全是数字*

‘1234a’.isdigit() False

判断全是大写

‘ABCD’.isupper()

判断全是小写

‘Abcd’.islower()

字符串转义 在print()函数里面起作用

\n:换行*

print(‘hello\nworld’)

\t:水平制表符*,表示八个字符八个字符实现对齐

##print(‘hello\tworld’)

\b:相当于退格键,也就是往前退一格

print(‘hello\bworld’) -> hellworld

\a 系统提示音

\0 产生一个空格

##print(‘hello\0world’)

:取消字符串的转义

##print(‘hello\nworld’)

r:统一取消转义*,表示路径时非常方便

##print(r’\nab\acd\0e\t’)

字符串的编码 以什么形式编码,就要以什么形式解码

encode() 编码 默认以utf-8形式编码

decode() 解码 默认以utf-8形式解码

##str1 = ‘安言’
##str2 = str1.encode(encoding=‘utf-8’)
##str2 = str1.encode(‘utf-8’)
##str2 = str1.encode() # b’\xe5\xae\x89\xe8\xa8\x80’

##str3 = str2.decode # ‘安言’

列表,元组,字符串 序列类型

字典 dict 散列类型 没有顺序可言

##li1 = [‘name’,‘age’,‘city’]
##li2 = [‘安言’,18,‘changsha’]
##print(‘安言今年’,li2[li1.index(‘age’)])

定义一个字典 {}

键和值之间用’:连接,不同的数据之间用’,'隔开

##dic = {‘name’:‘安言’,‘age’:18 ,‘city’:‘changsha’}

dic[key] 通过键取值

字典的定义

##dic1 = {} # 1.空字典
##dic2 = {‘a’:1,‘b’:2} # 2.常规定义
##dic3 = dict(a=1,b=2,c=3) # 3.使用dict函数定义字典

字典的增删改查

dic = {‘name’:‘安言’,‘age’:18 ,‘city’:‘changsha’}

dic.setdefault(key,value) 添加一个键值对 无则增,有则查

dic[key] 根据键取值,但是如果是不存在的键,会报错

dic.get(key) 根据键取值,如果不存在,则返回空(None)

dic[key] = value 无则增,有则改

dic.update({key:value, key:value}) 无则增,有则改

dic.pop(key) 删除对应键的键值对数据

dic.popitem() 根据添加进去的顺序删除数据,后添加先删除

dic.clear() 清空字典里面所有数据

其他方法

dic.keys() 获取字典里面所有的键名

dic.values() 获取字典里面所有的值

dic.items() 获取字典里面所有的键值对,键值对放在元组当中

集合 会自动去重,里面的值具有唯一性 {} set

##set1 = {1,2,3,4,1,2,3,4}

集合是无序的 散列类型

##set1 = {1,‘a’,‘b’,2,3}

集合的运算

##set1 = {1,2,3,4,5,7}
##set2 = {1,3,5,7}
##set3 = {‘a’,‘b’}

交集&:两个集合中相同的元素

##print(set1 & set2)

并集|:两个集合的元素合并在一起

##print(set1 | set3)

差集- :前面的集合减去后面的集合

##print(set1 - set2)

##set1 = {1,3,5,7}

set1.add(‘a’) 往集合当中增加一个数据

set1.update({11,22,33}) 批量增加

set1.pop() 随机删除

set1.remove(22) 根据元素名称删除对应元素

集合是不能进行修改操作的,因为集合是无序的

##set1 = {1,2,3,4,5,6}
##set2 = {4,5,6}
##set3 = {3,4,5}

set1.isdisjoint(set2) True 判断两个集合之间是否没有交集

set2.issubset(set1) True 判断前面的集合是否被包含在后面的集合里面

set1.issuperset(set3) True 判断前面的集合是否包含后面的集合

运算符总结

身份运算符 is is not

a == b True

因为在python当中存在内存池,范围[-5,256]

范围内内存地址一致,范围外内存地址不一致

a is b False 判断两者是否是同一个对象

is not 取反

成员运算符 in判断元素是否属于对象里面的内容 not in 取反

不管是序列类型还是散列类型都能使用成员运算符,数值类型不行

##li = [1,2,3,4] # 1 in li # 6 not in li

内存地址

如果修改过后内存地址不变,就是可变对象

可变对象:list、dict、set

不可变对象: 数值、str、元组

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一逍倾城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值