研一事情还比较少,读文章的空余时间也喜欢刷一刷oj,毕竟python以后用到的比较多,洛谷的字符串题单也接近尾声了,有一些操作和函数需要记录下,以后用到字符串也可以参考一下
不同于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
列表可以进行字符串没有的功能,比如截取某一片段,插入某一子字符串等,转换成列表形式更加方便进行操作
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
通过列表与字符串相互转换,利用列表的插入功能,实现字符串的插入
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
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
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
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
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
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
以后有新的学习,会对文章进行更新,感谢这几天的涨粉数量,每日做几个题然后写写博客,让研究生生活不再那么枯燥无聊了。有不对的地方欢迎大家指正。