Python容器相关操作
(集合与字典除外)的容器相关操作
(1)容器的拼接
>>> 'abc' + 'def'
'abcdef'
(2)容器的重复
>>> (1, 2) * 3
(1, 2, 1, 2, 1, 2)
(3)字符串跨行拼接(只能用于字符串)
>>> 'abc' \
... 'def'
'abcdef'
(4)容器的索引
(5)容器的切片:
语法 => 容器[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到字符串的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
(5)[:]或[::] 截取所有字符串
字符串相关函数
* 常见的操作方法
*capitalize 字符串首字母大写
*title 每个单词的首字母大写
*upper 将所有字母变成大写
*lower 将所有字母变成小写
*swapcase 大小写互换
*len 计算字符串的长度
*count 统计字符串中某个元素的数量
count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
*find 查找某个字符串第一次出现的索引位置
find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
*index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常
*startswith 判断是否以某个字符或字符串为开头
startswith(substr, beg=0,end=len(string))
检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查
*endswith 判断是否以某个字符或字符串结尾
endswith(suffix, beg=0, end=len(string))
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False
*isupper 判断字符串是否都是大写字母
*islower 判断字符串是否都是小写字母
#istitle 判断字符串是否每个单词都首字母大写
#isalnum 判断字符串是否是由数字、字母、汉字组成
*isalpha 判断字符串是否由字母和文字组成
*isdigit 检测字符串数是数字组成 接受二进制字节流
*isdecimal 检测字符串是否以数字组成 必须是纯数字
#isnumeric 检测字符串是否以数字组成 接受中文"四"
#isspace 判断字符串是否由空白符组成
*split 按某字符将字符串分割成列表(默认字符是空格)
split(str="", num=string.count(str))
以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
*join 按某字符将列表拼接成字符串(容器类型都可)
join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
#splitlines 按换行来进行切分(\n)
#zfill 填充字符串(默认填充0,原字符串右对齐)
#ljust 填充字符串,原字符居左 (默认填充空格)
#rjust 填充字符串,原字符居右 (默认填充空格)
*center 填充字符串,原字符居中 (默认填充空格)
center(width, fillchar)
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
*strip 默认去掉首尾两边的空白符
strip([chars])
在字符串上执行 lstrip()和 rstrip()
#rstrip 去掉右边某个字符
rstrip()
删除字符串字符串末尾的空格.
#lstrip 去掉左边某个字符
lstrip()
截掉字符串左边的空格或指定字符
*replace()
功能: 把字符串的旧字符换成新字符
格式: 字符串.replace('旧字符','新字符'[, 限制替换的次数])
返回值: 替换之后的字符串
列表的相关函数
append()
功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,该函数直接操作原有列表
insert()
功能:在指定索引之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改变原有列表
extend()
功能:迭代追加所有元素
格式:列表.extend(可迭代性数据)
返回值:None
注意:直接改变原有列表
pop()
功能:通过指定索引删除元素,若没有索引移除最后那个
格式:列表.pop(索引)
返回值:删除的元素
(注意:没有指定索引,默认移除最后一个元素 )
remove()
功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
格式:列表.remove(值)
返回值:无
(注意:如果有索引的情况推荐使用pop,效率高于remove)
clear()
功能:清空列表
格式:列表.clear()
返回值:空列表
index()
功能:获取某个值在列表中的索引
格式:列表.index(值[,start][,end]) # [] 表达参数可选项
返回值:找到返回索引 (找不到报错)
count()
功能:计算某个元素出现的次数
格式:列表.count(值)
返回值:次数
sort()
功能:列表排序(默认小到大排序)
格式:列表.sort(reverse=False)
返回值:None
注意:直接更改原列表
reverse()
功能:列表反转操作
格式:列表.reverse()
返回值:None
注意:直接更改原列表
深拷贝浅拷贝
#copy模块中有 浅拷贝 和 深拷贝 两种方法
(1)浅拷贝: 浅拷贝只拷贝外层列表 内层列表跟随原列表进行改变
# 浅拷贝copy.copy(listvar) 或者 listvar.copy()
(2)深拷贝: 拷贝整个列表 内外列表都不跟随原列表进行改变
# 深拷贝copy.deepcopy(listvar)
注意:copy模块的copy方法 和 python内置的函数copy一样 都是浅拷贝
元组相关操作和方法
元组的相关操作除了不能修改和删除其中的元素之外 , 剩下操作都和列表相同.
元组里面能用的方法只有 index 和 count
字典的相关函数
# 注意fromkeys的 [, value] 参数在后续构造的时候指向同一个地址
#fromkeys(seq[, value]) 使用一组键和默认值创建字典
参数
seq -- 字典键值列表。
value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。
返回值
该方法返回一个新字典
>>> x = ('key1', 'key2', 'key3')
>>> {}.fromkeys(x)
{'key1': None, 'key2': None, 'key3': None}
#pop(key[,default]) 通过键去删除键值对 (若没有该键可设置默认值,预防报错)
pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
#popitem() 随机返回并删除字典中的最后一对键和值
#clear() 清空字典
#update(dict2) 批量更新(有该键就更新,没该键就添加)
把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里
#get(key, default=None) 通过键获取值(若没有该键返回 default 设置的默认值)
#keys() 将字典的键组成新的可迭代对象
#values() 将字典中的值组成新的可迭代对象
#items() 将字典的键值对凑成一个个元组,组成新的可迭代对象
集合中的交差并补
#intersection() 交集
#difference() 差集
#union() 并集
#symmetric_difference() 对称差集 (补集情况涵盖在其中)
#issubset() 判断是否是子集
#issuperset() 判断是否是父集
#isdisjoint() 检测两集合是否不相交 不相交 True 相交False
集合相关的函数
#add() 向集合中添加数据
#update() 迭代着增加
#clear() 清空集合
#pop() 随机删除集合中的一个数据
#remove() 删除集合中指定的值(不存在则报错)
#discard() 删除集合中指定的值(不存在的不删除 推荐使用)
冰冻集合
#frozenset 可强转容器类型数据变为冰冻集合
冰冻集合一旦创建,不能在进行任何修改,只能做交叉并补操作

浙公网安备 33010602011771号