每日练习0424---函数和列表 元祖 字典的习题 sort和sorted总结
Posted wenm1128
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日练习0424---函数和列表 元祖 字典的习题 sort和sorted总结相关的知识,希望对你有一定的参考价值。
18、要求实现一函数,该函数用于求两个集合的差集,结果集合中包含所有属于第一个集合但不属于第二个集合的元素
def diff_set(s1,s2): diff_list=[] for i in s1: if i not in s2: #遍历s1,判断是否在s2中,若不在添加到新的列表中 diff_list.append(i) return set(diff_list) print(diff_set(1,2,5,9,2,3,5))
#19、找出一段句子中最长的单词及其索引位置,以list返回
描述
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
语法
sorted 语法:
sorted(iterable[, cmp[, key[, reverse]]])
参数说明:
iterable -- 可迭代对象。
cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
s = "i am a good boy,huhongqiang!" def find_max_length(s): import string for c in s: if c in string.punctuation: #如果字符是标点符号的话就将其替换为空格 s =s.replace(c," ") #print(s)
#对切割后的字符串按长度降序排列,按坐标是第一个的赋值为最大长度的单词 max_length_word = sorted(s.split(),key=len,reverse=True)[0] max_length_word_index = 0 max_length = len(max_length_word)
#找到最大长度单词的坐标 for i in range(len(ss)): if ss[i:i+max_length] == max_length_word: max_length_word_index = i return max_length_word,max_length_word_index print("最长的单词是%s,索引位置是%d" %find_max_length(s))
#20、返回序列中的最大数
思路:python中序列类型:主要包括字符串、列表和元组等,所以先判断传入的数据类型,然后遍历找最大值
import sys def get_max_num(s): if not isinstance(s,(str,list,tuple)): print("参数传入错误!") sys.exit(1)
#sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。 max_num=float(s[0]) if isinstance(s,(list,tuple)): for i in s: if i>max_num: max_num=i else: for i in s: if float(i)>max_num: max_num =float(i) return max_num print(get_max_num([1,5,90])) print(get_max_num("123456")) print(get_max_num((5,4,3,23,67)))
#21习题1:把一个字典的 key,value互换
d="a":1,"b":2 dict_list= for k,v in d.items(): dict_list[v]=k #将原字典的key和values互换放到一个新的字典里 print(dict_list)
C:\Users\dell>py -3 C:\Users\dell\Desktop\练习\4\20190424.py
1: ‘a‘, 2: ‘b‘
#22习题2:统计列表中列表的数量
s_list=[[1,2,3],4,5,[6,7,8,9]] list_num=0 for i in s_list: if isinstance(i,list): list_num +=1 print("列表中列表的数量为: %s" %list_num)
C:\Users\dell>py -3 C:\Users\dell\Desktop\练习\4\20190424.py
列表中列表的数量为: 2
#23习题3:删除一个列表里面所有的4
s = [2,4,4,[0,4,2],"bn4",(4,4,3),"a":4,"b":5,4:3] s_list = [] for i in range(s.count(4)): s.remove(4) for j in s: if isinstance(j,(int,float)): s_list.append(j) for k in s: if isinstance(k,list): new_list=[] for j in k: if j!=4: new_list.append(j) s_list.append(new_list) if isinstance(k,str): new_string ="" for v in k: if v!=‘4‘: new_string+=v s_list.append(new_string) elif isinstance(k,set): new_set =set() s_list1=[] for m in k: if m!=4: s_list1.append(m) new_set=set(s_list1) s_list.append(new_set) elif isinstance(k,tuple): new_tuple =() s_list1=[] for n in k: if n!=4: s_list1.append(n) new_tuple=tuple(s_list1) s_list.append(new_tuple) elif isinstance(k,dict): new_dict = for key,value in k.items(): if not (key==4 or value == 4 or key == ‘4‘ or value ==‘4‘): new_dict[key]=value s_list.append(new_dict) print(s_list)
以上是关于每日练习0424---函数和列表 元祖 字典的习题 sort和sorted总结的主要内容,如果未能解决你的问题,请参考以下文章