python3中对字符串首字母大小写的转变

对于首字母的小写有两个函数可以用:capitalize(),title().

这两个函数有区别:

capitcalize()是对该字符串的第一个字母操作

title()是对该字符串中的所有单词的首字母操作

>>> s = 'you are beautiful'
>>> type(s)
<class 'str'>
>>> s.capitalize()
'You are beautiful'
>>> s.title()
'You Are Beautiful'
>>> len(s)
17 #空格也为字符

------------------------------------------------------------------------------------------------------------

如果是多字符串组成的元组也可以操作,使用for循环:

>>> s = 'you are sb','you ARE beaUtiful'
>>> type(s)
<class 'tuple'>
>>> for i in s:
...     print(i.capitalize())
...
You are sb
You are beautiful
>>> for i in s:
...     print(i.title())
...
You Are Sb
You Are Beautiful

------------------------------------------------------------------------------------------------------------

当字符在列表中时,可以使用for循环

>>> L = ['you are bEAutiful','you aRe sb']
>>> L1 = list(s.capitalize() for s in L)
>>> L1
['You are beautiful', 'You are sb']

>>> L1 = list(s.title() for s in L)
>>> L1
['You Are Beautiful', 'You Are Sb']

也可以使用map函数来完成操作:

#capitalize函数
>>> L1 = ['china','jpan']
>>> def alize(s):
...     return s.capitalize()
...
>>> L2 = list(map(alize,L1)) #map将L1中的每个字符串送进alize函数中运行,迭代
>>> L2
['China', 'Jpan']
#title函数
>>> def tit(s):
...     return s.title():
...
>>> L1 = ['you are beatuTiFul','you aRe sB']
>>> L2 = list(map(tit,L1))
>>> L2
['You Are Beatutiful', 'You Are Sb']

猜你喜欢

转载自my.oschina.net/u/3331172/blog/1536977