如何判断并输出列表中重复元素及其数目?

img

如上图是我自己做的,但输出重复了,求解或其他Python可行方法,谢谢!

lst = ['小花','小花','小明','小聪',3,3,4,4,4,(2,3),(2,3)]
d={}
for i in lst:
    if i in d:
        d[i]+=1
    else:
        d[i]=1
for i in d:
    if d[i]>1:
        print('重复的元素有{},重复出现了{}次'.format(i,d[i]))
from collections import Counter

a = [1, 2, 3, 4, 3, 2, "奔奔", "benben", "奔奔"]
b = dict(Counter(a))
# 只展示重复元素
print ([key for key,value in b.items() if value > 1])
# 展现重复元素和重复次数
print ({key:value for key,value in b.items()if value > 1})

lst = ['小花','小花','小明','小聪',3,3,4,4,4,(2,3),(2,3)]
count = set(i for i in lst if lst.count(i)>1)
for i in count:
    print(f'重复的有{i},出现次数{lst.count(i)}')

输出结果:
重复的有(2, 3),出现次数2
重复的有3,出现次数2
重复的有4,出现次数3
重复的有小花,出现次数2

img