排序一个列表序列,并统计每一个元素出现的次数

# -*- coding: utf-8 -*-


#------------------------------------------
# 排序一个列表序列,并统计每一个元素出现的次数
# Author: Maxwell_Lu
# Date:   2017/06/17
#------------------------------------------


import random
from random import randint


# a-z:  97~122
# A-Z:  65~90


#------------------------------------------
# 产生一个指定长度的列表,元素是整数,浮点数,字符串
def generate_random_list(n):
random_list=[] #创建一个空的列表存储数据
for i in range(n):
if randint(0,2)==0:
random_list.append(randint(0,10))     #随机生成一个0~10的整数
elif randint(0,2)==1:
random_list.append(eval(format(random.random()*10, "4.2f")))     #随机生成一个0~10的浮点数
else:
if randint(0,1)==0:
random_list.append(chr(randint(65,90)))     #随机生成一个A~Z的字母
else:
random_list.append(chr(randint(97,122))) #随机生成一个a~z的字母
return random_list
#------------------------------------------






#------------------------------------------
# 排序生成的随机列表
def sort_random_list(lst=[]):
lst=sorted(lst)
return lst
#------------------------------------------






#------------------------------------------
# 统计每一个元素出现的次数,并按照元素大小排序
def count_times_of_elements_1(lst=[]):
result_list=[] #把最后的元素及它的个数放在列表里
lst_different=list(set(lst)) #利用set函数去重,再用list转换为list数据类型
for element in lst_different:
temp_list=[]
temp_list.append(element)
temp_list.append(lst.count(element))
result_list.append(temp_list)
result_list=sorted(result_list)
return result_list
# print(element, lst.count(element)) #对于不重复的列表里的每一个元素,在初始列表中用count统计元素的个数
#------------------------------------------






#------------------------------------------
# 统计每一个元素出现的次数,并按照元素个数从大到小排序排序
def count_times_of_elements_2(lst=[]):
result_list=[] #把最后的元素及它的个数放在列表里
lst_different=list(set(lst)) #利用set函数去重,再用list转换为list数据类型
for element in lst_different:
temp_list=[]
temp_list.append(lst.count(element))
temp_list.append(element)
result_list.append(temp_list)
result_list=sorted(result_list)
result_list.reverse()
return result_list
# print(element, lst.count(element)) #对于不重复的列表里的每一个元素,在初始列表中用count统计元素的个数
#------------------------------------------






if __name__=="__main__":
mylist=generate_random_list(200) #随机生成200个数据
print(mylist)
print("***************************************************")
mylist_sorted=sort_random_list(mylist)
print(mylist_sorted)
print("***************************************************")
result_list_1=count_times_of_elements_1(mylist_sorted)
print(result_list_1)
print("***************************************************")
result_list_2=count_times_of_elements_2(mylist_sorted)
print(result_list_2)
print("***************************************************")


























































  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值