Python找出列表中的重复元素并统计个数的函数代码设计

找出列表中的重复元素并统计个数的方法

如何使用Python设计一个程序用于统计列表list中哪些元素是重复的并统计个数?这里的设计思路是这样子的,将list列表对象使用set()函数快速去重,然后使用for循环遍历该集合中的元素,并使用Python列表内置的count()方法来统计该元素在列表list中的个数,当count()的返回值大于1,说明该元素为列表中重复的元素。为了将重复元素和该重复元素的个数记录下来,这里又需要使用Python的字典dict来记录。具体可参考下方的实例代码。

找出重复元素并统计个数的函数代码设计

为了将实现找出Python列表中的重复元素并统计个数的代码可以重复利用,且方便利用,这里将这些代码封装为一个函数,该函数在设计上存在的一些缺陷,将在代码后面进行介绍:

def findRepeat(listObj):
    tempSet = set(listObj)
    returnDict = {}
    for ele in tempSet:
        tempNum = listObj.count(ele)
        if tempNum > 1:
            returnDict[ele] = tempNum
    return returnDict


# 测试该函数
list1 = [0,0,1,1,3,3,5,6,7,8,3,2,1]
dict1 = findRepeat(list1)
print(dict1)
该函数却在的一些缺陷

该函数存在的主要的缺陷在于字典的创建过程,因为有些Python的类型并不适合用于作为字典dict的键,比如列表、集合等,因此在使用该函数时,应当观察列表中元素的特点,否则Python有可能会抛出TypeError。

来源:笨鸟工具

原文:用Python找出列表中的重复元素并统计个数的代码

免责声明:内容仅供参考,不保证正确性!

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值