python--每日练习题(二)
{20210818 补卡,坚持每日打卡:相信坚持的力量 ~~~~ 有信念,才有力量!!!}
#一、交换字符,把字符串s中的每个空格替换成“%20” 输入:s = "we are happy" 输出:"we%20are%20happy" #1、语法:s.replace(old,new[,max]),将旧的转为新的,如果max指定,替换不超过max次 print(s.replace(" ","%20")) #二、99乘法表 for i in range(1,10): for j in range(1,i+1): print(("%d * %d = %2d"%(i,j,i*j)),end = " ") print()
说明:
1、分析乘法表:1-9分别与(1-本身)之前相乘,故遍历1-9,1,i+1
2、如何打印出来 ("%d * %d = %2d" % (i,j,i*j)),%d代表一个数字,%2d代表2位数字
3、end = "" 代表不换行
print()代表默认换一行
#三、找到某个单词在某段文本中的下标位置 s = "Hedy,hi,my friend" if "hi" in s: print(s.index("hi")) else: print(-1) #使用一行代码 s = "hi ,my" print(s.index("hi") if "hi" in s else -1)
输出:5
#四、输入一个字符串,输出第m个出现n次的字符
from collections import Counter
a = "hejuwbsadsndjsnwa"
m = 2 #第二个
n = 1 #出现次数
b = Counter(a) #说明collections函数的Counter方法,打印一组字典,分别统计不同字符串出现次数
print(b)
s = []
for i, j in dict(b).items(): #遍历字典的key,value
if j == n:
s.append(i) #将所有出现一次的字符串组成列表
print(s)
print(s[m - 1]) #打印出第2个字符串
#五、找到字符串首次出现的位置
B.find(str,beg=0,end=len(string)) #说明:find方法,找到某个字符串,可设置开始与终止位置 try: print(B.index(A)) except: print(-1) print(B.find(A)) print(B.find(A,25,len(B))) 查找字符串最后一次出现的位置 str.rfind(str,beg=0,end=len(string))
str.lfind(str,beg=0,end=len(string)) print("a是奇数" if a%2 else "a是偶数") str(b).startswith("王") #字符串开始出现位置包含某字符串 str(b).endswith("王")
回顾list的sort与sorted用法-笔记:
list.sort( key=None, reverse=False) key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
sorted(iterable, cmp=None, key=None, reverse=False) iterable – 可迭代对象。 cmp –比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。 key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
1、sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
2、list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
list1.sort(key=lambda x:x[2])
sorted(list1,key=lambda x:x[2])