#统计从事某行业的人数
#键盘输入某班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入)。
# 完善Python代码,统计各行业就业的学生数量,按数量从高到低方式输出。
# 测试输入输入:
# 交通 金融 计算机 交通 计算机 计算机输出参考格式如下,其中冒号为英文冒号:
# 计算机:3
# 交通:2
# 金融:1
names=input()
print(type(names))
print(names)
names=names.split(" ") #识别空格来把输入的字符串切片成几个元素
print(type(names))
print(names)
counts={} #字典创建用花括号,如果是counts=[]则会报错
for name in names: #判断元素是否存在于列表names中
counts[name]=counts.get(name,0)+1 #通过get()识别键名并且因为之前没有遇到过,所以就会赋值为0,后面再遇到的时候不会再被赋值为0
#每判断出一个在列表中的元素,该键名对应的项目值value就加1
items=list(counts.items()) #items()遍历键和值,并把字典转换成列表类型用于后续操作
items.sort(key=lambda x:x[1],reverse=True) #lambda x:x[1]是匿名函数,返回x元素的第二个字段,作为排序的依据,reverse=True代表降序排列
for i in range(len(items)):#把排好序的列表遍历
name,count=items[i] #把列表中的键名和值传给name和count
print("{}:{}".format(name,count))#按照需要的格式输出