在写字符串题目的时候,发现python总是会有一些巧妙的方法或者函数可以解决问题,感觉需要去积累记录一些。
1、去除空格和合并数组成字符串
s=s.strip()可以去除字符串前后内容,非常好用而且常用,因为字符串常有前后空格的情况。
如果要去除其他内容,可以在s.strip('a')括号里面去加入需要去除的内容
s=s.split('a')根据括号里面的内容去把字符串转化为分开的数组
s=''.join(list)使用join可以把数组合并成一个字符串,''中可以选定字符串连接的内容
2、int数组转字符串数组
s=list(map(str,list)) map可以转化但是生成的内容一定需要经过list处理一下
3、一些python内置函数
判断合规与否
all()函数,all([c in digi for c in a0]),这里面如果有c不在digi里面,那么all返回的数值是False,如果所有元素都为真时,all返回True
返回ASCII值(如果不允许使用int转化字符串到数值方便使用)
ord('0')可以返回0的ASCII值,(ord(i)-ord('0'))可以计算得到i的数值
4、i.isdigit()
i.isdigit()可以判断i是否为数字,在判断变量是否为数很有帮助
5、删除、增加内容,计算内容出现次数
数组中可以使用insert(index,num)增加数据
使用del arr[index]直接按照index删除数组部分
s.count('a')计算a出现了多少次
6、哈希表返回values的迭代对象
如果想把{"aet":["eat","tea","ate"],"ant":["tan","nat"],"abt":["bat"]}转化成[["eat","tea","ate"],["tan","nat"],["bat"]]。
就需要使用dict.values()这个操作,获取所有value的视图对象,使用list(dict.values())可以返回我们需要的[["eat","tea","ate"],["tan","nat"],["bat"]]
7、合理使用collections模块
比如Counter这个对象。可以使用allWords=collections.Counter(words)方法,这个方法可以返回一个字典:
{'apple': 3, 'banana': 2, 'cherry': 1}
告诉你每个词语出现了多少次
以下是 collections
模块中一些常用的数据类型:
Counter
:用于计数可哈希对象的出现次数。deque
:双向队列,支持在两端高效地添加和删除元素。namedtuple
:命名元组,创建带有命名字段的元组子类。OrderedDict
:有序字典,记住元素的插入顺序。defaultdict
:带有默认值的字典。ChainMap
:用于将多个字典或映射组合在一起。Counter
:一个简单的计数器工具。