1. 确定一个字符串中有多少个元音字母
def getCount(inputStr): return len([a for a in inputStr if a in "aeiou"])
2. 对字符串中的各个字符按照位置的不同进行重复输出
def accum(test):
return "-".join([c.upper()+c.lower()*i for i,c in enumerate(test)])
3. 去除字符串中的元音字符
def disemvowel(string):
return string.translate(str.maketrans("","","aeiouAEIOU")) #maketrans第一个参数为要替换的字符,第二个参数为替换后的字符,第三个参数为要删除的字符
4. 按格式输出数列中的最大数和最小数
def high_and_low(numbers):
seq=[int(i) for i in numbers.split()]
return "{_max} {_min}".format(_max=max(seq),_min=min(seq))
5. 字符串中的每个单词首字母大写
import string
def toJadenCase(originString):
return string.capwords(originString
)
6. 碱基对字符串的互补串
def DNA_strand(dna):
return dna.translate(dna.maketrans("ATCG","TAGC"))
7. 判断一个字符串中的两个字符的数目是否相等
def xo(s):
s=s.lower()
return s.count('x') == s.count('o')
8. 数字字符串的平方转换
def square_digits(num):
return int("".join([int(i)**2 for i in num]))
9. 返回字符串中长度最短的单词的长度
def find_short(s):
return min( [len(i) for i in s.split()] )
10. 两数所表示的数值范围和
def get_sum(a,b):
return a if a==b else sum(range(min(a,b),max(a,b)+1))
11. 判断序列中的对象是否为字符串
def filter_list(l):
return [i for i in l if not isinstance(i, str)]
12. 判断一个数字是否为整数
return i is_integer()
13. 判断一个字符串是否满足PIN码的要求
def validate_pin(pin):
return len(pin) in (4, 6) and pin.isdigit()
14. 对字符串中的某些文字上色
print("已经添加{0}到你的购物车中,账户余额\033[41;1m{1}\033[0m".format(“macbook pro”,23400))
15. 二进制字符串转换为十进制数
def binary_array_to_number(arr):
return int("".join([str(i) for i in arr]),2)
17. 找寻一个序列中出现奇数次的数字
from functools import reduce
import operator
def find_it(seq):
return reduce(operator.xor,seq)
18. 单词书超过5的反写
def spin_words(sentence):
return " ".join([i[::-1] if len(i)>=5 else i for i in sentence.split()])
19. 获取一个9阶2维矩阵(board)的所有3*3区域
region = [board[i][j:j+3]+board[i+1][j:j+3]+board[i+2][j:j+3] for i in range(0,9,3) for j in range(0,9,3)]
20. 二维矩阵board转置
a=[]
for i in zip(*board)
a.append(list(i))