from collections import Counter
deffind_repeat1(nums):#传入的是字典return[k for k, v in Counter(nums).items()if v >1]print(find_repeat1([2,3,1,0,2,5,3,3]))'''[2, 3]'''
deffind_repeat4(nums):
nums =sorted(nums)#这里可以和 nums.sort() 这种方法进行比较print(nums)#输出[0, 1, 2, 2, 3, 3, 5],与nums.sort() 这种方法结果一样returnlist(set([nums[n]for n inrange(len(nums)-1)if nums[n]== nums[n+1]]))# 这里不可以像下面这行操作,否则会出现 IndexError: list index out of range# return list(set([nums[n] for n in range(len(nums)) if nums[n] == nums[n + 1]]))# 这里一下子嵌套了好几层,需要熟练后再操作# 从内往外看,其实就是先找出nums内出现重复值的所有序位上的值,# 然后放在set集合内进行去重,再用list做一个列表print(find_repeat4([2,3,1,0,2,5,3]))'''[2, 3]'''
deffunc2(nums):print(set(nums))#set 是用来去重的,相当于将集合内出现了第一次时候记录下来#输出{0, 1, 2, 3, 5}import random
for x inset(nums):
nums.remove(x)#将简练后的set集合内的数和nums列表内进行对比,# 并将数摘除掉,此时nums剩下的就是第二次及以上还出现的数print(nums)#输出[2, 3]return random.choice(nums)print(func2([2,3,1,0,2,5,3]))'''3'''