python如何输入索引下标_python 3 基础之字符串下标索引、切片、方法

字符串定义

name = “”或name = ‘’或name = str()

保留文本格式(需要用三引号,''''''或"""""")

字符串的下标索引(中括号里的下标索引 需要在字符串序列数中,超出会报错;若从右到左算从-1开始,都是等价的,实际开发都是从0开始),如

my_str = 'hello'

ret = my_str[2]

print(ret)

字符串切片(切片是指对操作的对象截取其中一部分的操作)

切片的语法:[起始:结束(开区间):步长],一般情况步长不写,默认为1

a = 'abcdef'

print(a[-1:-4:-2])#-1:从右到左;-4:从右到左取到第四位,即c;-2:步长为右到左2位

取abc -> a[0:3] 或者 a[:3],若从头开始取,0可以省略不写

print(a[0:3])

字符串的方法

a = 'abcdef'

1、find(查找字符串里的字符,返回其下标索引)

查询到对应的字符串会返回一个下标索引,若没有,则返回-1

ret1 = a.find('d')

print(ret1)

print(a.find('a',1))#从下标1开始,查找在字符串里第一个出现的子串:返回结果-1

2、index用法与find一样,index若找不到会异常

19、rindex 类似index(),这是从右到左查找,找到没事没找到报异常

18、rfind 类似find()方法(从左到右查找),这是从右到左开始找(索引编号还是原来的左到右),两者用法看字符串长度决定用哪个(查找速度、性能)

a = 'abcdefabcd'

print(a.rfind('b'))#若没找到报-1

3、count(计算字符串中某个字符出现的次数,若没找到则0)

格式:str.count("char", start,end)

char —— 为要统计的字符(可以是单字符,也可以是多字符)。

star —— 为索引字符串的起始位置,默认参数为0。

end —— 为索引字符串的结束位置,默认参数为字符串长度即len(str)。

print(a.count('a'))

print(a.count("i",2,5)) #star值为2,end值为5

4、replace(把字符串里的某个字符进行更改)

a = 'abcdefghaa'

ret4 = a.replace('a','ds',1)#把a修改成ds,只修改一次,如删掉后面的1,则代表更改字符串里的所有a

print(a)#打印a不是修改后的字符串,字符串是不变的,只能重新定义一个变量

print(ret4)

print(a.replace('a','ds',1))#等价于print(ret4)

5、split(以某个字符为界分割字符串,分割后此字符串不存在;分割后产生一个新的数据类型:列表)

str.split() 默认以空格,换行(\n),制表符\t分割

str.split('字符串'):以字符串为分割

str.split('字符串',2)分割以前2次出现的字符串为分割

a = 'abacdefandafinad'

ret5 = a.split('a')

print(ret5)

22、splitlines 找到字符串里的\n,默认以此为界分隔字符(\n会自动删掉),返回一个包含各行作为元素的列表

splitlines() 方法语法:S.splitlines([keepends=False])

keepends -- 在输出结果里是否去掉行界符('\r', '\r\n', \n'等),默认为 False,不包含行界符,如果为 True,则保留行界符。

a = 'abcd\nedsd\ndk\nds'

ret = a.splitlines()

print(ret)

print(type(ret))

6、capitalize 把字符串的第一个字符大写

a = 'sadkjhkj'

print(a.capitalize())#实则变量a还是a,没有改变

7、title把字符串里的每个单词首字母大写

a = 'a bc de f'#若用空格分开,则认为是多个单词,否则当做一个单词处理

print(a.title())

10、lower 转换字符串中的大写字符为小写,小写不变

a = 'NXCBdefandafinad'

print(a.lower())

11、upper把字符串中的小写全部转换成大写

a = 'abacdefanXdafinad'

print(a.upper())

8、startswith 检查字符串是否以某些字符开头,是则返回True,否则返回False

a = 'abacdefandafinad'

print(a.startswith('aba'))

9、endswith 检查字符串是否以某些字符结尾,是则返回True,否则返回False

a = 'abacdefandafinad'

print(a.endswith('nad'))#区分大小写

可能会上传个文件是MP4后缀结束,此时需要endswith判断

12、ljust 返回一个原来字符串左对齐,并使用空格填充至长度width的新字符串

a = 'what'

ret1 = a.ljust(10,'x') 原来的字符串先左对齐,如果不够10位,用x表示,占据10个位置,10看业务需求决定

print(ret1)

13、rjust(跟ljust用法一致)

a = 'what'

ret2 = a.rjust(10,'x') #原来的字符串先右对齐,如果不够10位,用x表示,占据10个位置

print(ret2)

设想左边三个1右边三个1中间abcd

14、center 居中

a = 'abcd'

print(a.center(10,' '))#若不对称则默认左边少一个

15、lstrip 删除字符串里字符左边的空格,包括\n和\t(\t指的是Tab键)(中间的空字符不去除)

a = ' dsk k '

print(a.lstrip())

也可以把字符左侧的一些字符删除掉,如

a = '11123abdc'

print(a.lstrip('12'))#不填则默认去除空格,填则只能填最左边的某些字符,词句去除了左边的1和2

16、rstrip 去除字符串最右边的空格或一些字符

a = 'dksdl33443k'

print(a.rstrip('34k'))#去掉字符串中的3和4、k

17、strip 去除字符串两边的空格或字符

a = '23222abcd1x21212'

print(a.strip('123'))#去除两边的123

20、partition 把字符串以某个字符分割(从左到右,找到第一个e,以此为界分割)成三部分,字符串前、字符串、字符串后

a = 'abcdefghe'

ret = a.partition('e')

print(ret)#产生新的数据类型

print(type(ret))

23、isalpha 判断一个字符串里是否全部是字母,是则返回布尔值True,否则False

a = 'abcdefghe'

ret = a.isalpha()

print(ret)

24、 isdigit判断字符串里是否全是数字,是则返回布尔值True,否则False

a = '0435435'

ret = a.isdigit()#网站判断密码过于简单就是用这个来判断的

print(ret)

25、isalnum 字符串里的所有字符都是字母或数字则返回True,否则False

a = 'abcd213efghe'

ret = a.isalnum()

print(ret)

26、isspace 字符串中只包含空格,则返回 True,否则返回 False

27、join 字符串中每个元素后面插入str,构造出一个新的字符串

用人话说:把一个列表里的元素合在一起,构成一个新的字符串

定义一个列表(列表里的叫元素)

my_list = ['li','baoc','dabei']

ret = ' '.join(my_list)#引号里输入什么,打印出来的字符串里的字符(原来是列表里的元素)就以什么

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值