python實驗二:字符串排序

##統計word中的各個字符的出現的次數,並統計出全部前十名的字符使用次數
# -*- coding:utf-8 -*-
word='''awfesdafhjkcasadckjsdackjsadvcnksausafdsch
fsadfdsaasdfsdacsafsdaas
csaasfdasdfsda
sfadfsdafsadfjtyurjryjghnkuitki'''

list1 = list(word)  			#將字符串轉化爲列表

while '\n' in list1:			#去掉列表中的'\n'字符
	list1.remove('\n')

list2 = sorted(list1)			#列表排序
list3 = list(set(list1))		#列表去重複
list4 = []						#定義兩個空列表
list5 = []

for i in list3:					
	j = list2.count(i)			#統計字符個數
	list4.append((i, j))		#將字符及個數加入新列表

def recmp(x, y):				#定義一個排序函數與cmp函數輸出結果相反
	if x < y :
		return 1
	if x == y:
		return 0
	if x > y:
		return -1

list4.sort(lambda x,y:recmp(x[1],y[1]))			#根據第二關鍵詞排序
list5 = list4[:10]								#取出前十項
print list5


#輸出結果:
[('a', 22), ('s', 21), ('d', 16), ('f', 13), ('c', 7), ('k', 6), ('j', 6), ('h', 3), ('u', 3), ('i', 2)]
相關文章
相關標籤/搜索