Python中的字符串问题整理

1、写一个程序返回一个由字符串组成的list中最长的字符串:思路,构建一个二维数组,将原来list中的字符串和对应的长度存入二维数组,对二维数组进行排序,list.sort(),返回最长的字符串对应的位置。【list可以存放二维数组,list.sort()可以进行排序】

2、写一个程序能够删去一个字符串中的第n个字符,并返回删去后的字符串:思路,利用字符串的切片,将该字符前后的两段字符串相加,注意字符串中的切片是左闭右开

3、写一个程序能删掉一个字符串中的第奇数个字符,并返回删去后的字符串:思路,先构建一个新的字符串,s="",对原来字符串中的每个字符位置进行循环,for i in range(len(str)),对于i%2==0的i,将此位置的字符添加到新构建的字符串中。注意,字符串的合并用+,list的添加用append。

4、写一个程序计算一个句子中每个单词的个数并返回对应的字典:思路,先把句子在空格处分开成为list,l=str.split(" "),构建一个新的dict,dict={},取出dict中的keys,检查list中的每个word是否在keys中,如果不在,dict[word]=1,如果在,dict[word]+=1。

5、字符串的大小写转换:转换为大写,str.upper(),转换为小写,str.lower()。

6、写一个程序,输入一组由逗号隔开的words,过滤掉重复元素并按顺序返回一个包含逗号的字符串:思路,首先将输入的长字符串通过split转换为list,再用set([  ])过滤掉重复元素,用sorted(list(set([]))排序,用",".join(sorted(list(set([  ])))将list转换为用逗号隔开的字符串。

7、格式化输出字符或者字符串,可用%s在格式中表示

8、要重复输出某个字符串,可直接用str*次数

9、字符串中从指定地方分隔,从前往后分隔split,从后往前分隔rsplit。str.rsplit('/',2)[0]表示从倒数第二个/处分隔字符串然后取标号为0的一段。

10、将一个字符串逆序输出:   return ''.join(reversed(str))

11、利用sorted函数对字符串进行排序:默认情况下sorted对字符串排序是根据ASCII码的大小,大写字母的ASCII码都小于小写字母,sorted是一个高阶函数,可以接收一个key函数来实现自定义大小的排序。sorted(sorted(s),key=str.upper())

12、去掉字符串中的换行,直接用函数 str.rstrip()

13、判断某个字符串是否以指定字符开头,直接用函数string.startswith('指定字符’)

14、写一个程序实现凯撒密码(输入一串由字母组成的字符串和要移动的个数,输出移动后的list):思路,构建一个list用来存放移动后的字符,再构建一个list用来存放移动后字符应该在的位置,写出两个list,分别是26个英文字母的大小写,对字符串中每个字符进行循环,判断是大写还是小写然后分类进行讨论,用该字母本来的位置+要移动的位置个数的和%26即为应该得到的字符的位置。

15、获取list中某个元素的位置,用函数list.index(元素)

16、写一个程序格式化输出一段文本,格式化文本的宽度,先导入textwrap模块,textwrap.fill(文本,width=50)

17、写一个程序格式化输出一段文本,删去每行的缩进,导入textwrap模块,用函数textwrap.dedent(文本)

18、在一段文本的每行之前加入指定符号,先删去每行之前的缩进,然后把文本的宽度设为定值,最后用textwrap.indent(文本,指定符号)

19、对一个文本的首行设置与其他行不同的格式,用textwrap.fill(text,initial_indent='   ',subsequent_indent='',width=50)

20、将一个小数形式的字符串转换成保留两位小数的格式:print("{:.2f}".format(x))

21、要把一个小数保留两位小数并保留正负号:print("{:+.2f}".format(x))

22、在一个整数前面加上0,print("{:0>3d}".format(y)),3表示加上0 之后的总位数。或者print("{:>03d}".format(x)).

23、在一个整数右边加上特殊符号,print("{*<6d}".format(x))或print("{:<*3d}".format(x))。

24、用,隔开一个数字print("{:,}".format(x))

25、用%格式化一个数字,print("{:.2%}".format(y)),2表示化为百分数后小数位数。

26、把数字放到指定长度字符串的前中后的位置:print("{:> 10d}".format(x));print("{:^10d}".format(x));print("{:<10d}".format(x)。

27、计算一长段字符串中某一小段字符串出现的次数:print(str.count(小段字符串))。

28、join 函数的用法:s='-' , seq=('j','m','l'); print(s.join(seq)),join用来连接字符串。

29、将一个长字符串文本中的单词顺序颠倒输出,对文本中的每一行进行循环,把每一行通过“ ”分隔成为list,[::-1]list逆序输出。

30、去掉一个长字符串中的某个指定字符:return ' ' .join(c for c in str if c not in char),char是指定字符。

31、sorted()函数的用法:sorted(要排序的list或dict,key=排序的依据函数,附加条件)例如,附加条件可写成 reverse=True,表示逆序输出。

32、格式化输出平方,立方等,\u00b3,这里3表示次数。

33、set()可以过滤字符串中的重复字符,用set生成字母表:先导入string模块,set(string.ascii_lowercase);要判断一个字符串中是否包含字母表中的所有元素,先用set过滤这个字符串,大小写化为一致,比较是否>=字母表即可。

34、交换字符串中某两个字符的位置,用maketrans函数,maketrans=str.maketrans;str=str.translate(maketrans(',.','.,')),maketran(表达式1,表达式2),分别表示要交换的字符串和目标字符串,两个字符串的长度必须相同。

35、字符串中replace函数的用法:replace(字符串1,字符串2),用字符串2代替1

36、字符串中find函数的用法:find(字符)可以得到某个字符的位置下标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值