python获得奇数的字符串_Python字符串练习

这篇博客介绍了15个关于字符串处理的Python函数,包括计数元音字母、字符重复输出、移除元音、查找数列最大最小值、首字母大写、碱基对互补、字符计数比较、数字字符串平方、最短单词长度、数值范围求和、序列对象类型筛选、PIN码验证、字符串染色、二进制转十进制和寻找序列中奇数次出现的元素。同时,还展示了如何进行3x3矩阵区域提取和矩阵转置的操作。
摘要由CSDN通过智能技术生成

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]iflen(i)>=5elsei 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] fori in range(0,9,3) for j in range(0,9,3)]

20. 二维矩阵board转置

a=[]

for i inzip(*board)

a.append(list(i))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值