python字符串简单操作总结(依靠洛谷字符串题单)

2023-12-28 12:35:33

python字符串简单操作总结


前言

研一事情还比较少,读文章的空余时间也喜欢刷一刷oj,毕竟python以后用到的比较多,洛谷的字符串题单也接近尾声了,有一些操作和函数需要记录下,以后用到字符串也可以参考一下


一、字符串操作

1、字符串分割

不同于c++,python的输入并没有那么的方便,很多时候输入并不能如愿的按照空格来隔离,比如输入类型不同的时候就不能用map进行输入

data=input()
length=len(data)
mapp=[]
for item in data:
    if item!=' ':
        mapp.append(item)
        pass
    else:
        tran=''.join(mapp)
        mapp.clear()
        print(tran)
        pass
    pass
print(''.join(mapp))
I love csdn
I
love
csdn

2、字符串的类型转换

字符串转列表

列表可以进行字符串没有的功能,比如截取某一片段,插入某一子字符串等,转换成列表形式更加方便进行操作

data=input()
data=list(data)#转化为列表类型
mapp=data[3:6]#截取片段
mapp=''.join(mapp)
data.insert(2,'key')#插入字符串
data=''.join(data)
print(type(mapp))
print(mapp)
print(type(data))
print(data)
I love python and csdn
<class 'str'>
ove
<class 'str'>
I keylove python and csdn

字符串转整数,浮点数

字符串转整数可以去除字符串去点前置零,对于特殊情况下还可以进行整数的运算。

data=input()
data1=[]
data2=[]
flag1=True
flag2=False
for item in data:
    if item!=' ' and flag1:
       data1.append(item)
       pass
    if item!=' ' and flag2:
        data2.append(item)
        pass
    if item==' ':
        flag1=False
        flag2=True
        pass
    pass
value1=int("".join(data1))
value2=float("".join(data2))
print(value1)
print(value2)
06 7.4
6
7.4

2、插入子字符串

通过列表与字符串相互转换,利用列表的插入功能,实现字符串的插入
Str.insert(num,c)
其中num表示c要插在第num个字符后面,c为要插入的字符或字符串

data=input()
print("原字符串:",data)
data=list(data)
data.insert(3,'ac')
data=''.join(data)
print("插入子字符串后:",data)

I love csdn
原字符串: I love csdn
插入子字符串后: I lacove csdn

二、字符串函数使用

1.去除空格

Str.strip()------去除头部和尾部的空格

data=input()
print("原字符串:",data)
mapp=data.strip()
print("去空格后:",mapp)
   i love csdn  
原字符串:    i love csdn  
去空格后: i love csdn

Str.lstrip()------去除左边部分的空格

data=input()
print("原字符串:",data)
mapp=data.lstrip()
print("去空格后:",mapp)
     i love csdn
原字符串:      i love csdn
去空格后: i love csdn

Str.rstrip()------去除右边部分的空格

data=input()
print("原字符串:",data)
mapp=data.rstrip()
print("去空格后:",mapp)
i love csdn      
原字符串: i love csdn      
去空格后: i love csdn

2.寻找某字符在字符产中的位置

Str.find()
如果找不到则返回-1

data=input()
step1=data.find('o')
step2=data.find('csdn')
step3=data.find('q')
print(step1)
print(step2)
print(step3)
I love csdn
3
7
-1

Str.index()
检测字符串中是否包含字符串,返回下标值,没有找到就报错

data=input()
step1=data.index('csdn')
step2=data.index('fish')
print(step1)
print(step2)
I love csdn
Traceback (most recent call last):
  File "D:\pythonProject\lanqiao.py", line 3, in <module>
    step2=data.index('fish')
ValueError: substring not found

3.判断字符串是否以某字符开头或结尾

Str.startswith(‘p’)
判读是否以p为开头
Str.endswith(‘p’)
判读是否以p为结尾
(返回值为布尔类型)

data=input()
num=data.startswith('I')
print(num)
num=data.startswith('a')
print(num)
num=data.endswith('n')
print(num)
num=data.endswith('z')
print(num)
I love csdn
True
False
True
False

4.大小写转换

Str.lower()
将字符串全部小写
Str.upper()
将字符串全部大写

data=input()
data1=data.upper()
data2=data.lower()
print(data1)
print(data2)

I Love Csdn
I LOVE CSDN
i love csdn

5、字符串分割以及倒序

Str[2:5]
第二个字符到第五个字符
Str[2:]
第二个字符到最后一个字符
Str[:2]
开头字符到第二个字符

data=input()
data1=data[2:5]
data2=data[2:]
data3=data[:2]
print(data1)
print(data2)
print(data3)
I love csdn
lov
love csdn
I 

Str[::-1]
倒序

data=input()
data1=data[::-1]
print(data1)

I love csdn
ndsc evol I

总结

以后有新的学习,会对文章进行更新,感谢这几天的涨粉数量,每日做几个题然后写写博客,让研究生生活不再那么枯燥无聊了。有不对的地方欢迎大家指正。

文章来源:https://blog.csdn.net/KLSZM/article/details/135240294
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。