代码如下:
def showmax(lt):
index1 = 0 #记录出现次数最多的元素下标
max = 0 #记录最大的元素出现次数
for i in range(len(lt)):
flag = 0 #记录每一个元素出现的次数
for j in range(i+1,len(lt)): #遍历i之后的元素下标
if lt[j] == lt[i]:
flag += 1 #每当发现与自己相同的元素,flag+1
if flag > max: #如果此时元素出现的次数大于最大值,记录此时元素的下标
max = flag
index1 = i
return lt[index1] #返回出现最多的元素
lt = [1,1,2,3,3,5,6,8,9,4,6,18,6,44,6,44,44,44]
print(showmax(lt))
扩展资料
python的优缺点
优点:
1、优美、清晰、简单;
2、高级语言;
3、开发效率高;
4、可移植性、可拓展性、可嵌入性。
缺点:
1、运行速度慢;
2、代码不能加密;
3、线程不能利用多CPU。
python的种类:
1、Cpython:基于C语言开发的;
2、lpython;
3、Jpython;
4、PyPy:目前执行最快的。
打印列表中出现前十的元素,可以利用列表的count属性,可以计数,然后根据数量多少排序 来输出元素
a = [1,'b','b',3,3,3,'d','d','d','d',5,5,5,5,5,'f','f','f','
f','f','f',7,7,7,7,7,7,7,'h','h','h','h','h','h','h','h',9,9
,9,9,9,9,9,9,9,'j','j','j','j','j','j','j','j','j','j',11,11
,11,11,11,11,11,11,11,11,11]
b = {} #定义空字典
for d in set(a): #去重复的值,set
b[a.count(d)] = d #去重后做计数,把数量和值写到字典b
for e in reversed(sorted(b.keys())[-10:]):
print e,':',b[e] #排序列表键值并取后10个(数量最大的10个),翻转后打印出数量与值。
t=[1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,1,2,3,1,2,1,6,6,6,6,6,6,6,6]
d={}
for i in set(t):
d[i]=t.count(i)
t=sorted(d.iteritems(), key=lambda x : x[1], reverse=True)
j=1
for i in t:
print i[0]
按出现次数大小 输出,你取前10个就可以啦~
使用字典,将列表中的元素作为字典的键,循环列表,每次出现一次键的值加1