正文共: 3227 字 5 图 预计阅读时间: 9 分钟
The problem is not the problem. The problem is your attitude about the problem.
问题不在于问题本身。 问题在于你对这个问题的态度。
小闫语录:
事情本身是很客观的存在,是因为人的主观意志附加,才让你我感到喜怒哀乐。有时并不是事情不放过你,而是你不放过你自己。
切片,顾名思义,就是将要操作的对象的一部分或者全部进行截取。字符串、列表和元组都支持切片。如果还是难理解,那么就类比咱们切黄瓜,不要尾部,我们会将尾部切掉,这个过程就是切片,从切的位置开始,到最尾部结束。
切片的语法:
[起始:结束:步长]
# 如:
>>>'hello world'[0:2:1]
>>> he
截取是从起始位置的下标开始,到结束位置下标的前一位停止。是左闭右开区间,结束位置不包含。 步长表示的是选取间隔。例如:从开始将
1234
以步长为2取值,取到13
。
有一种特殊的情况,就是是步长为 -1
的时候,代表字符串从后向前,按步长为1进行取值。
# 将字符串倒置
s = 'hello world'
print(s[::-1])
------结果-------
dlrow olleh
我们先定义一个要操作的字符串:
mystr = 'hello world Ethanyan note'
接下来的操作,如果没有指定mystr,那么默认使用此字符串。
在列表list中每个元素后面插入字符串str,构造出一个新的字符串:
str.join(list)
例如:
list = ['hello', 'world', 'Ethanyan', 'note']
str = '-'
print(str.join(list))
>>> hello-world-Ethanyan-note
把mystr以str分割成三部分:str前,str和str后。
mystr.partition(str)
rpartition
:和partition
类似,不过是从右边开始。
例如:
mystr.partition('world')
>>>('hello ', 'world', ' Ethanyan note')
如果 mystr 中只包含空格,则返回 True;否则返回 False。
mystr.isspace()
>>> False
如果 mystr 所有字符都是字母或数字则返回True;否则返回False。
mystr.isalnum()
例如:
mystr.isalnum()
>>>False
因为mystr中有空格
如果 mystr 只包含数字则返回True;否则返回 False。
mystr.isdigit()
例如:
mystr.isdigit()
>>>False
如果 mystr 所有字符都是字母则返回 True;否则返回False。
mystr.isalpha()
例如:
mystr.isalpha()
>>>False
按照行分割,返回一个包含各行元素的列表:
mystr.splitlines()
例如:
mystr = 'hello\nworld'
print(mystr.splitlines())
>>> ['hello', 'world']
\n
代表的是换行。
删除字符串两端的空白字符:
>>> mystr = ' hello world '
>>> mystr.strip()
'hello world'
rstrip
:和 strip
类似,是删除字符串右端的空白字符。
>>> mystr.rstrip()
' hello world'
只删除了右侧的空白字符,左侧的没变。
lstrip
:和 strip
类似,是删除字符串左端的空白字符。
>>> mystr.lstrip()
'hello world '
使用空格将字符串填充至长度width的新字符串,并将原字符串元素居中显示:
mystr.center(width)
例如:
>>> mystr = 'hello world Ethanyan note'
>>> mystr.center(50)
' hello world Ethanyan note '
使用空格将字符串填充至长度width的新字符串,并将原字符串元素左对齐:
mystr.ljust(width)
rjust
:和 ljust
类似,只不过是右对齐。
mystr.rjust(width)
例如:
>>> mystr.ljust(30)
'hello world Ethanyan note '
转换 mystr 中的小写字母为大写
mystr.upper()
例如:
>>> mystr.upper()
'HELLO WORLD ETHANYAN NOTE'
lower
:与 upper
类似,将所有的大写字母变小写。
>>> a = 'HELLO WORLD ETHANYAN NOTE'
>>> a.lower()
'hello world ethanyan note'
检查字符串中是否是以str开头,如果是返回True,否则返回False:
mystr.startswith(str)
例如:
>>> mystr.startswith('hello')
True
endswith
:与 startwith
类似,检查的是否以str结尾:
mystr.endswith(str)
把字符串的每个单词首字母大写:
>>> a = 'hello python'
>>> a.title()
'Hello Python'
把字符第一个字符大写:
mystr.capitalize()
例如:
>>> mystr.capitalize()
'Hello world ethanyan note'
以str为分隔符切片mystr,如果maxsplit有指定的值,那么就仅仅分割maxsplit个子字符串:
mystr.split(str,maxsplit)
例如:
>>> mystr.split(' ',2)
['hello', 'world', 'Ethanyan note']
把mystr中的str1替换成str2,如果count指定,则替换不超过count次:
mystr.replace(str1,str2,count)
例如:
>>> mystr.replace('hello','yan',1)
'yan world Ethanyan note'
返回mystr中start到end之间str出现的次数:
mystr.count(str,start,end)
例如:
>>> mystr.count('o',0,30)
3
检测str是否在mystr中,如果是返回开始的索引值,否则返回-1。
mystr.find(str,start,end)
例如:
>>> mystr.find('Ethan',0,30)
12
rfind
:和 find
类似,只不过是从右侧开始检测。
mystr.rfind(str,start,end)
同 find
,但是如果检测的str不存在,会报错:
mystr.index(str,start,end)
例如:
>>> mystr.index('Ethanyan',0,10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
rindex
:和 index
类似,不过是从右侧开始检测。
mystr.rindex(str,start,end)
优质文章推荐: