5.字符串--索引--详解

Posted yangte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.字符串--索引--详解相关的知识,希望对你有一定的参考价值。

字符串-索引-详解

一、字符串索引

1.索引

格式: 变量名[头标:下标:步长] 步长不写默认为1

索引从左往右是以0开始,从右往左则以-1开始

例:从左往右 输出变量中得索引值

name = ‘yang‘
# 索引  0123
print(name[0])
结果:
y

? 从右往左 输出变量中得索引值

name = ‘yang‘
# 索引 -4-3-2-1
print(name[-1])
结果:
g

2.切片

例: 输出变量中 头标至下标这个区间的索引值,但不包含终止索引的值

name = ‘yang‘
# 索引  0123
print(name[0:3])
结果:
yan

3.步长

步长为每次走的步,(有点像跨索引取值)

例:

name = ‘helloword‘
#索引    012345678
#从头标开始每次走两步的话,也就是取02468这些索引的值
print(name [0:9:2])
结果:
hlood

二、字符串详解

1.大小写转换

命令格式:

  • 换大写 :变量名.upper()
  • 换小写 :变量名.lower()
换大写  例:
a=yang
a1=a.upper()
print(a1)
结果:
YANG

换小写  例:
a=YANG
a1=a.lower()
print(a)
结果:
yang

举例:让登录的验证码不区分大小写

y_z_m = ‘o98k‘                                      #设置验证码
y_z_m_input = input("请输入验证码(O98k)")             #用户输入验证码
new_y_z_m_input = y_z_m_input.lower()               #将用户输入的字符串换成小写
if y_z_m == new_y_z_m_input:                        
    user = input(‘请输入账号:‘)
    pwd = input(‘请输入密码:‘)
    if user == ‘yang‘ and pwd == ‘8520‘:
        print(‘登陆成功!‘)
    else:
        print(‘登录失败‘)

else:
    print(‘验证码错误!‘)

2.判断以什么开头

命令格式:

? 变量名.startswith(‘要判断的字符串‘)

? 变量名.startswith(‘要判断的字符串‘,上标,下标)

例:  
name = ‘yang‘
new_name = name.startswith(‘y‘)              #判断是否为y开头,写入逻辑值
if new_name:                                 #此处new_name的值为True
    print(‘是以y开头‘)
# 判断这是不是字符串是不是以a开头的




例:
name = ‘yang‘                                #可用索引指定区间
new_name = name.startswith(‘n‘,2,5)          #2和5分别为起始索引和终止索引
if new_name:
    print(‘是以n开头‘)

# 我们可以指定从哪个位置开始哪个位置结束

3.判断以什么结尾

命令格式:

? 变量名.endswith(‘要判断的字符串‘)

? 变量名.endswith(‘要判断的字符串‘,上标,下标)

例:
name = ‘yang‘
new_name = name.endswith(‘g‘)
if new_name:
    print(‘是以g结尾‘)
# 判断这是不是字符串是不是以x结尾的

name = ‘yang‘
new_name = name.endswith(‘g‘,2,5)
if new_name:
    print(‘是以g结尾‘)
# 判断这是不是字符串是不是以x结尾的

4.统计出现的次数

命令格式:

? 变量名.count(‘要判断的字符串‘)

例:
name = ‘yanglang‘
new_name = name.count(‘a‘)
print(new_name)

# 统计name这个字符串中a出现的次数

5.字符串替换

命令格式:

? 变量名.replace(‘被换‘,‘要换‘,换的个数)

例:
name = ‘yanglang‘
new_name = name.replace(‘a‘,‘b‘,1)           #把name中的a换成b,其中1是替换的次数(替换的个数)
print(new_name)
结果:
ybnglang
# 替换字符串中的内容以外 我们可以指定要替换的次数


例:
name = ‘yanglang‘
new_name = name.count(‘a‘)                    #统计a出现的次数(出现的个数)
nw_name = name.replace(‘a‘,‘b‘,new_name)      #把所有的a替换成b,
print(nw_name)

6.去除的头尾两端的空格,换行符,制表符

命令格式:

? 变量名.strip()

例:
name = ‘ yanglang ‘                    # 注意!此处字符串两头是加了空格的
new_name = name.strip()                # 默认去除的头尾两端的空格,换行符,制表符 也可以自己指定
print(new_name)
# 去除头尾俩遍的空格和换行符

7.分割字符串

命令格式:

? 变量名.split(‘分割点’)

? 变量名.split(‘分割点’,maxsplit=分割次数)

例:
name = ‘yanglang‘                        # 通过n将字符串name进行切割,将n作为切割点
new_name = name.split("n")               # 默认以空格,换行符,制表符分隔
print(new_name)
结果:
[‘ya‘,‘gla‘,‘g‘]                         # 切割后的内容是一个列表,把字符串切割成列表
                                         # print(type(变量名))可以输出变量类型

例:
name = ‘yanglang‘
new_name = name.split("n",maxsplit=1)    # 此处的1是切割次数(或者说是切割几个x)
print(new_name)
结果:
[‘ya‘,‘glang‘]

8.字符串格式化

例:
name = ‘yanglang{}{}‘                         #这里的{}是占位符
new_name = name.format(‘说的对‘,‘是的‘)         #可以按照顺序去填充,也可以按照索引去填充,也可以按照关键字填充
print(new_name)


9.is系列

  • 判断是否为十进制的数字 命令格式:变量名.isdecimal()
例:
name = ‘yanglang‘
new_name = name.isdecimal()               #此处输入值为False
print(new_name)

# 判断是不是十进制的数字,返回结果是布尔值
  • 判断是否为数字、字母和中文 命令格式:变量名.isalnum()
例:
name = ‘yanglang‘
new_name = name.isalnum()                
print(new_name)

# 判断是不是数字和字母以及中文,返回结果是布尔值
  • 判断是否为纯字母和中文 命令格式:变量名.isalpha()
例:
name = ‘yanglang‘
new_name = name.isalpha()
print(new_name)

# 判断是不是纯字母和汉字,返回的是布尔值

10.获取字符串长度

命令格式:

? len(变量名)

例:
name=‘yanglang‘                  #字符串
name1=[‘a‘,‘b‘,[1,2,3]]          #列表
print(len(name))                 #结果为 8
print(len(name1))                #结果为 3

11.使用while循环打印单个元素

例:
name = "Meet"
count = 0
while count < len(name):
    print(name[count])           #将变量值作为索引,输出此索引的元素
    count = count + 1

12.for 循环

例:
name = "Meet"
for i in name:
    print(i)

for i in "Meet":
    print(i)

for循环, for是关键字 i是一个变量 后边的name是要被循环的内容,他会把这个name指向的字符串里的每个元素打印出来

for循环是可以循环的数据结构:

  • 字符串(str)
  • 列 表(list)
  • 元 祖(tuple)
  • 字 典(dict)
  • 集 合(set)

唯独不能进行循环的就是 整型(int)和布尔值(bool) #因为这两种数据结构都是单个值

【补充】

1.字符串首字母大写

命令格式:

? 字符串.capitalize()

例:
a=‘asd‘
a=a.capitalize()
print(a)                                              #输出结果为 Asd

以上是关于5.字符串--索引--详解的主要内容,如果未能解决你的问题,请参考以下文章

从搜索文档中查找最小片段的算法?

详解MongoDB索引优化

Python中verbaim标签使用详解

片段(Java) | 机试题+算法思路+考点+代码解析 2023

Redis学习之列表类型详解

Java中关于String类详解