找出列表中重复的元素:遍历列表并存储每个元素及出现的次数

通用解法的思想:

直接遍历列表,使用字典存储 每个元素以及出现的次数。(应该也适用于找出其他可迭代对象中的重复元素,如tuple,set,str)

可以设置返回value>1的键值对。

时间复杂度:O(n)/O(2n)

代码:python

def checkRepeat(s:list):
#遍历列表,存储每个元素及其出现次数
    dict1 = {}
    for i in s:
        if i not in dict1:
            dict1[i] = 1
        else:
            dict1[i] += 1
#设置新的字典存储value值>1的键值对
    dict2 = {}
    for k,v in dict1.items():
        if v>1:
            dict2[k] = v

    return dict2

if __name__=='__main__':
    s = [1,2,3,1,2,4,5]
    dict2 = checkRepeat([1,2,3,1,2,4,5])
    print(dict2)

输出结果

{1: 2, 2: 2}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值