Python字符串统计

一、摘要

本片博文将展示一些关于字符串的处理,例如计算重复出现的字母有多少个,反转字符串等等

二、实操

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

>>> 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'

你可能感兴趣的:(Python,软件测试)