码迷,mamicode.com
首页 > 其他好文 > 详细

取序列对象中元素出现的次数

时间:2016-07-24 01:39:24      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

取一个序列中元素出现的格式

方法一:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!