字符串的相关操作
1.字符串的拼接 +
2.字符串的重复*
3.字符串的跨行拼接\
4.字符串的索引
5.字符串的切片
切片:截取字符串
语法:字符串[::] 完整格式:[开始索引:结束索引:间隔值]
[开始索引:] 从开始截取到字符串的最后
[:结束索引] 从开头截取到字符串的最后(结束索引-1)
[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前,按照指定的间隔
[:]或者[::]截取所有的字符串
注意:
[::-1]从右到左一直到最后
字符串的格式化format
1.顺序传参
2.索引传参
3.关键字传参
4.容器类型数据(列表或者元组)传参
5.容器如果是字典,不需要套上任何引号括号直接使用
6.填充符号的使用( ^ > < )
^:原字符串居中
>:原字符串居右
<:原字符串居左
{who:*^5}
who : 关键字
* : 填充符号
^ : 填充方向
5 : 填充个数
5 = 填充符号长度 + 原字符串长度 (总共)
注意:
如果不填充符号,默认填充的是空格
7.进制转换等特殊符号的使用
:d : 整型占位符
:f : 浮点型占位符
小数点保留2位,存在四舍五入
:s : 字符串占位符
:, :金钱占位符
字符串的相关函数
capitalize 字符串首字符大写
title 每个单词首字母大写
upper 将所有字母变成大写
lower 将所有字母变成小写
swapcase 大小写互换
len 计算字符串的长度
count 统计字符串的长度
count(值,开始索引,结束索引) 范围留头舍尾
find 查找字符串第一次出现的索引位置 找不到值返回-1
find(值,开始索引,结束索引) 范围留头舍尾
index 与find 功能相同 找不到值直接报错
startswith 判断是否以某个字符或者字符串开头
endswith 判断是否以某个字符或者字符串结尾
isupper 判断字符串是否都是大写字母
islower 判断字符串是否都是小写字母
isdecimal 检测字符串是否以数字组成,必须是纯数字
split 按某个字符将字符串分割成列表(默认字符是空格)
join 按某个字符将列表拼接成字符串(容器类型都可)
replece 把字符串的旧字符换成新字符
默认替换所有
也可以选择替换的次数
center 填充字符串,原字符串居中(默认填充空格)
strip 默认去掉收尾两边的空白符 空格\n \t \r
rstrip 去掉右边的某个字符
lstrip 去掉左边的某个字符
列表的相关操作
1.列表的拼接 (同元祖)
2.列表的重复 (同元祖)
3.列表的切片 (同元祖)
切片:截取列表
语法:列表[::] 完整格式:[开始索引:结束索引:间隔值]
[开始索引:] 从开始截取到字符串的最后
[:结束索引] 从开头截取到字符串的最后(结束索引-1)
[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前,按照指定的间隔
[:]或者[::]截取所有的字符串
注意:
[::-1]从右到左一直到最后
4.列表的获取 同元组
5.列表的修改 (元组可切片)
注意点:
利用切片修改必须赋值iterable可迭代性数据(容器类型数据,range对象,迭代器)
利用切片修改一,[不限制存放的个数] 针对范围
利用切片修改二,[必须对号入座,截取几个就存放几个] 针对间隔
6.列表的删除(可切片)
一次删一个
一次删一堆
注意:
变量res = lst[0]
del res #删掉的是res这个变量的本身,跟原来的值无关
列表的相关函数
增
append 向列表的末尾添加新的元素
insenrt 在指定的元素前面插入新的元素
extend 迭代追加所有元素
删
pop 通过制定索引删除元素,若没有索引移除最后一个
remove 通过给与的值来删除,如果多个相同的元素默认删除第一个
clear 清空列表
改查
切片方式
[::-1] 常做 内部元素取反切片
其他函数
index 获取某个值在列表中的索引
count 计算某个元素出现的次数
sort 排序
reverse = True为倒序排列,reverse = False为正序排列
英文默认按照ascii编码排序
一位一位进行比较
中文可以排序,无规律可循
reverse 列表反转操作,同[::-1]
深浅拷贝
浅拷贝
import
模块.方法()
copy.copy()
问题:
浅拷贝,无法对二级容器进行独立拷贝
深拷贝
import
模块.方法()
copy.deepcopy()
总结
浅拷贝:只拷贝一级容器中的所有元素,形成独立的空间(副本)
深拷贝:拷贝所有容器中的元素,都形成独立的空间(副本)
浅拷贝较深拷贝,速度更快,空间更小
字典的相关函数
增
fromakeys 使用一组键和默认值创建字典
实际工作中不常用,操作不当容易导致误操作
初始化一个字典
dic = {}.formakeys(lst,None)
优化:
dic = {}
dic["a"] = []
dic["b"] = []
删
pop() 通过键去删除键值对(若没有该键可以设置,默认值,防止报错)
如:res = dic.pop("abc","预设默认,该键不存在")
该键不存在,打印第二个,防止报错
popitem() 删除最后一个键值对
clear() 清空字典
改
update() 批量更新 (有则改之,无则添加)
查
get() 通过键获取值(若没有该键可设置默认值,预防报错)
print(dic.get("123","抱歉没有该键"))
keys() 将字典的键组成新的可迭代对象
values() 将字典的值组成新的可迭代对象
items() 将字典的键值对凑成一个个元组,组成新的可迭代对象
集合的相关操作
intersection() 交集 &
difference() 差集 -
union() 并集 |
symmetric_difference() 对称差集(补集的情况涵盖其中) ^
issubset() 判读是够是子集 <
issuperset() 判断是否是父集 >
isdisjoint() 检测两个集合是否不相交 (不相交True 相交False) 不常用
增
add() 向集合中添加数据 (一次加一个)
update() 迭代增加,一次加一堆
删
clear() 清空集合
pop() 随机删除集合中的一个数据
discard() 删除集合中指定的值(不存在不删除,推荐使用)
了解,冰冻集合
冰冻集合只能交差并补.不能添加元素到集合中
frozenset() 冰冻集合