通用解法的思想:
直接遍历列表,使用字典存储 每个元素以及出现的次数。(应该也适用于找出其他可迭代对象中的重复元素,如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}
标签:__,存储,遍历,dict1,dict2,元素,列表 来源: https://blog.csdn.net/qq_44901908/article/details/120090857
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。