Python学习--字符串、列表、元组

字符串str

定义:
一个个字符组成的有序的序列,是字符的集合
使用单引号、双引号、三引号引住的字符序列
字符串是不可变对象
字符串查找
name.count(sub[,start[,end]]'):在指定的区间[start,end],从左至右,查找子串sub出现的次数
name.find(sub[,start[,end]]):在指定的区间[start,end],从左至右,查找子串sub,找到返回索引,没找到返回-1
     name.rfind(sub[,start[,end]]):从右向左
name.index(sub[,start[,end]]):在指定的区间[start,end],从左至右,查找子串sub,找到返回索引,没找到抛出异常
     name.index(sub[,start[,end]]):从右向左
字符串连接
'*'.join(name):使用星号拼接
+ :将两个字符串连接在一起,返回一个新的字符串
字符串判断
name.endswith('xx'):字符串是否以xx结尾;返回布尔型
name.startswith('xx'):字符串是否以xx开头;返回布尔型
name.isdigit():判断是否为数字
isalnum():是否是字母和数字组成
isalpha():是否是字母
isdecimal():是否只包含十进制数字
isidentifier():是不是字母和下划线开头,其他都是字母、数字、下划线
islower():是否都是小写
isupper():是否全部大写
isspace():是否只包含空白字符
字符串分割
name.split(',',maxsplit = -1):以逗号来分割字符串,从左向右,返回一个list,maxsplit指定分割次数,-1遍历整个字符串
     name.rsplit(',',maxsplit = -1):从右向左分割
name.splitlines():以换行符来分割字符串,返回的是一个list
name.parttition('s'):从左至右,返回头、分隔符、尾三部分的三元组;[如果没有找到分隔符,就返回头、2个空元素的三元组]
     name.parttition('s'):从右向左分割
字符串排版
upper():全大写
lower():全小写
swapcase():交换大小写
title():标题的每个单词都大写
capitalize():首个单词大写
center(width[,fillchar]):width:打印宽度 fillchar:填充的字符
zfill(width):居右,左边用0填充
ljust(width[,fillchar]):左对齐
rjust(width[,fillchar]):右对齐
字符串修改
replace(old,new[,count]):找到匹配的字符串替换为新子串,count表示替换几次,不指定就是全部替换
strip([chars]):从字符串两端去除指定的字符集chars中的所有字符,如果没有指定,去除两端空白字符
     lstrip([chars]);从左开始
     rstrip([chars]);从右开始

列表list

数字的处理函数
round():四舍六入五取偶
floor():向下取整
ceil():向上取整
int():取整数部分
//:整除且向下取整
min():取最小值
max():取最大值
pow(x,y):x的y次方
bin():二进制,返回字符串
oct():八进制
hex():十六进制
列表查询
index(value,[start,[stop]])
      通过值value,从指定区间查找列表内的元素是否匹配
      匹配第一个就立即返回索引
      匹配不到抛出异常ValueError
count(value)
      返回列表中匹配value的次数
列表元素修改
索引访问修改:
     list[index]=value
     索引不要超界
列表增加、插入元素
append(object)->None
     列表尾部追加元素,返回None,  返回None,就地修改
insert(index,object)->None
     在指定的索引index处插入元素object,  返回None,就地修改
extend(iteratable)->None
     将可迭代对象的元素追加进来,返回None,就地修改
+ : 连接操作,将两个列表连接起来,产生新的列表,原列表不变
* : 重复操作,将本列表元素重复n次,返回新的列表
列表删除元素
remove(value)->None
     从左至右查找第一个匹配value的值,移除该元素,返回None,就地修改
pop([index])->item
     不指定索引index,就从列表尾部弹出一个元素
     指定索引index,就从索引处弹出一个元素,索引超界抛出IndexError错误
clear()->None
     清除列表所有元素,剩下一个空列表
时间复杂度
index、count、remove、insert时间复杂度是O(n)
extend、append时间复杂度是O(1)
pop(index)不指定索引,时间复杂度是O(1),指定索引,时间复杂度是O(n)
列表其它操作
reverse()->None
     将列表元素反转,返回None,就地修改
sort(key=None,reverse=False)->None
     对列表元素进行排序,就地修改,默认升序
     reverse为True,反转,降序
     key一个函数,指定key如何排序
随机数
random模块:
randint(a,b):返回[a,b]之间的整数
choice(seq):从非空序列的元素中随机挑选一个元素,
randrange([start,]stop[,step]):从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
random.shuffle(list)->None:就地打乱列表元素
sample(population,k):从样本空间或总体(序列或者集合类型)中随机取出k个不同的元素,返回一个新的列表

元组tuple

定义
一个有序的元素组成的集合
使用小括号()表示
元组是不可变对象
元组查询
index(value,[start,[stop]])
     通过值value,从指定区间查找列表内的元素是否匹配
     匹配第一个就立即返回索引
     匹配不到抛出异常ValueError
count(value)
     返回列表中匹配value的次数
时间复杂度:
     index和count方法都是O(n)
     随着列表数据规模的增大,而效率下降
len(tuple)
     返回元素的个数
元组其他操作
支持索引:
     正索引:从左至右,从0开始,为列表中每一个元素编号
     负索引:从右至左,从-1开始
     正负索引不可以超界,否则引发异常IndexError
元组是只读的,所以增、删、改方法都没有
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值