0
点赞
收藏
分享

微信扫一扫

Python快速而美丽[v1.0.0][字符串详解]


使用方法修改字符串的大小写

>>> name = "ada lovelace"
>>> print(name.title())
Ada Lovelace

title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。例如,你可能希望程序将值Ada 、ADA 和ada

视为同一个名字,并将它们都显示为Ada

>>> name = "Ada Lovelace"
>>> print(name.upper())
ADA LOVELACE
>>> print(name.lower())
ada lovelace

uppre()将字符串改为全部大写;lower()将字符串改为全部小写

合并(拼接)字符串

>>> first_name = "ada"
>>> last_name = "lovelace"
>>> full_name = first_name + " " + last_name
>>> print(full_name)
ada lovelace

Python使用加号(+ )来合并字符串, 这种合并字符串的方法称为拼接 。通过拼接,可使用存储在变量中的信息来创建完整的消息, 再看一个拼接的例子

>>> first_name = "ada"
>>> last_name = "lovelace"
>>> full_name = first_name + " " + last_name
>>> print("Hello, " + full_name.title() + "!")
Hello, Ada Lovelace!

使用制表符或换行符来添加空白

>>> print("\tPython")
Python
>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript
>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
Python
C
JavaScript

删除空白

在程序中,额外的空白可能令人迷惑,‘python’ 和’python ’ 看起来几乎没什么两样,但对程序来说,它们却是两个不同的字符串。Python能够发现’python ’ 中额外的空白,并认为它是有意义的空白很重要,因为你经常需要比较两个字符串是否相同。例如,一个重要的示例是,在用户登录网站时检查其用户名。但在一些简单得多的情形下,额外的空格也可能令人迷惑。所幸在Python中,删除用户输入的数据中的多余的空白易如反掌。Python能够找出字符串开头和末尾多余的空白。

要确保字符串末尾没有空白,可使用方法rstrip()

>>> favorite_language = "Python "
>>> favorite_language
'Python '
>>> favorite_language.rstrip()
'Python'
>>> favorite_language
'Python '

要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中:

>>> favorite_language = 'python '
>>> favorite_language = favorite_language.rstrip()
>>> favorite_language
'python'

还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法lstrip() 和strip()

>>> favorite_language = ' python '
>>> favorite_language.rstrip()
' python'
>>> favorite_language.lstrip()
'python '
>>> favorite_language.strip()
'python'

同样的使用/t和/n产生的空白也可以进行相同的处理:

>>> str1 = "\taaaaaaaaaaa"
>>> print(str1)
aaaaaaaaaaa
>>> print(str1.lstrip())
aaaaaaaaaaa
>>> str2 = "\nbbbbbbbbbbb"
>>> print(str2)

bbbbbbbbbbb
>>> print(str2.lstrip())
bbbbbbbbbbb

将字符串拆成列表

>>> str = "A person who never made a mistake never tried anything new."
>>> list1 = str.split(' ')
>>> list1
['A', 'person', 'who', 'never', 'made', 'a', 'mistake', 'never', 'tried', 'anything', 'new.']

获取字符串重复字符的个数

>>> string1 = "aaabbbbcccccddddddeeeeeeeffffffffggggggggg"
>>> dict1 = {}
>>> for word in string1:
... dict1[word] = 1+dict1.get(word, 0)
...
>>> print(dict1['a'])
3
>>> print(dict1)
{'a': 3, 'b': 4, 'c': 5, 'd': 6, 'e': 7, 'f': 8, 'g': 9}
>>> string1 = "aaabbbbcccccddddddeeeeeeeffffffffggggggggg"
>>> dict1 = {}
>>> for word in string1:
... if not word in dict1:
... dict1[word] = 1
... else:
... dict1[word] = dict1[word] + 1
...
>>> print(dict1['a'])
3
>>> print(dict1)
{'a': 3, 'b': 4, 'c': 5, 'd': 6, 'e': 7, 'f': 8, 'g': 9}
>>> from collections import Counter
>>> string1 = "aaabbbbcccccddddddfffffffgggggggghhhhhhhhh"
>>> list1 = list(string1)
>>> list1
['a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h']
>>> c1 = Counter(list1)
>>> print(c1)
Counter({'h': 9, 'g': 8, 'f': 7, 'd': 6, 'c': 5, 'b': 4, 'a': 3})
>>> tuple1 = tuple(string1)
>>> tuple1
('a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h')
>>> c1 = Counter(tuple1)
>>> print(c1)
Counter({'h': 9, 'g': 8, 'f': 7, 'd': 6, 'c': 5, 'b': 4, 'a': 3})
>>> c1 = Counter(string1)
>>> print(c1)
Counter({'h': 9, 'g': 8, 'f': 7, 'd': 6, 'c': 5, 'b': 4, 'a': 3})

获取字符串中最多的x个字符个数

#  代码紧接着上边的执行
>>> print(c1.most_common(4))
[('h', 9), ('g', 8), ('f', 7), ('d', 6)]

再转回字符串

>>> list1 = ['a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h']
>>> string2 = str(list1) # can not
>>> string2
"['a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h']"
>>> string2 = "".join(list1)
>>> string2
'aaabbbbcccccddddddfffffffgggggggghhhhhhhhh'
>>> tuple1 = ('a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h')
>>> string3 = "".join(tuple1)
>>> string3
'aaabbbbcccccddddddfffffffgggggggghhhhhhhhh'



举报

相关推荐

0 条评论