最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

关于python统计一个整数列表中不同数值种类数的问题。

SEO心得admin36浏览0评论
本文介绍了关于python统计一个整数列表中不同数值种类数的问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

问 题

下面这段代码中,kind_num用于统计那个整数列表中有几种不同数值的整数。

class Solution(object): def distributeCandies(self, candies): """ :type candies: List[int] :rtype: int """ loc = len(candies) mol = loc % 2 if not (2 <= loc <= 10000) or mol != 0: return 'wrong length of array' for num in candies: if not (-10000 <= num <= 10000): return 'wrong element in array' kind_num = 0 sis_num = loc / 2 for candy in candies: kind_num += 1 while True: try: candies.remove(candy) print candies except ValueError: break if kind_num > sis_num: return sis_num elif kind_num < sis_num: return kind_num else: return sis_num s = Solution() print s.distributeCandies([1,1,2,2,3,3])

但是第二个for循环,没有取完candies里面的值就提前退出了,这是为什么???

解决方案

在循环里不要去remove

如果你仅仅是想实现统计不同种类的值

#统计出现次数 lst = [1,1,2,2,3,3,4,4,5,6] print len(set(lst)) #统计每种各出现几次 from collections import Counter print dict(Counter(lst))

发布评论

评论列表(0)

  1. 暂无评论