突然想写这个是之前在一家面试的时候提到的,当时觉得很简单。回来想了想做起来还是蛮有味道的。
'''相关知识
随机数生成:import random
列表list的应用
'''
N:生成数据量
if __name__ == '__main__': Num=input("Imput the cells of list:") N=int(Num) list1=Creat_random_Num(N) print(list1) list2=delete_same(list1) list3=find_same(list2,list1)
import random '**************生成数据***********************' def Creat_random_Num(N): list1=[] while N!=0: temp_Num=random.randint(1,10) list1.append(temp_Num) N=N-1 print(N) print(list1) return list1 '***************************************'
'****************搜索list1中的元素,生成list2***********************' def delete_same(List1): list2=[] for i in range(len(List1)): if(list2.count(List1[i])==0): list2.append(List1[i]) print(list2) return list2 '*************************************'
'********核心的部分:count函数,数据交换,2步长遍历********************' def find_same(list2,list1): list3=[0,0,0,0,0,0] for i in range(len(list2)): p=list1.count(list2[i]) print(p) for j in range(0,len(list3),2): if p>list3[j+1]: print(list3[j+1],p) p,list3[j+1]=list3[j+1],p print(list3[j+1],p) print(list2[i],list3[j]) list2[i],list3[j]=list3[j],list2[i] print(list2[i],list3[j]) print(list3) return list3 '*************************************'开始的思路是要排序,考虑排序之后又要重新遍历就改成了获取成员的思路了。