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 可强转容器类型数据变为冰冻集合
冰冻集合一旦创建,不能在进行任何修改,只能做交叉并补操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值