标签:
取一个序列中元素出现的格式
方法一:
from collections import Iterable def action(iterable): reslut = {} if not isinstance(iterable,Iterable): #判断对象是否是可迭代 raise TypeError(‘is not iterable‘) #如果不是手动触发异常 for item in iterable: #对对象进行迭代 if item in reslut.keys(): #把元素和元素出现的次数 reslut[item] += 1 #加到空的reslut字典中 else: reslut[item] = 1 return reslut if __name__ == ‘__main__‘: data = [‘a‘,‘b‘,‘a‘,‘b‘,‘c‘,‘b‘,‘a‘,1,2,1,1,3,3,4,4,1,2,5,5] reslut = action(data) print reslut 结果: {‘a‘: 3, 1: 4, ‘c‘: 1, ‘b‘: 3, 4: 2, 5: 2, 2: 2, 3: 2}
方法二:直接迭代序列,统计元素出现的个数写到字典里面,元素作为key,value是key出现的次数
data = [‘a‘,‘b‘,‘a‘,‘b‘,‘c‘,‘b‘,‘a‘,1,2,1,1,3,3,4,4,1,2,5,5] reslut = {} for item in data: reslut[item] = data.count(item) else: print reslut 结果也是一样的
或者直接字典解析
data = [‘a‘,‘b‘,‘a‘,‘b‘,‘c‘,‘b‘,‘a‘,1,2,1,1,3,3,4,4,1,2,5,5] reslut = { item:data.count(item) for item in data} print reslut
标签:
原文地址:http://www.cnblogs.com/huangweimin/p/5699916.html