2024-04-20 15:13:22 发布
网友
我需要写一个函数rep(lst, k),其中lst是一个整数列表,k是它们出现的次数。例如,如果我有一个列表:
rep(lst, k)
lst
k
lst = [1,2,1,5,3,4,2,1,3,5,6]
然后启动命令rep(lst,2),它需要返回一个不重复的列表,其中包含重复k次的数字,如:
rep(lst,2)
rep(lst, 2) # returns [1,2,5,3]
我该怎么做?我可以编写一个函数来计算某个特定变量的出现次数,但我不能这样做,计数只会返回列表中元素的数量。你知道吗
如何使用sets来完成任务:
sets
lst = [1,2,1,5,3,4,2,1,3,5,6] def rep(the_list, rep): return [x for x in set(the_list) if the_list.count(x) == rep] print(rep(lst, 2)) # -> [2, 3, 5]
set(the_list)
这里有一个使用计数器的替代解决方案
from collections import Counter def count(list, k): tmp = Counter(list) return [x for x in tmp if tmp[x] == k]
如何使用
sets
来完成任务:set(the_list)
列表被转换为set,以确保每个唯一的元素只搜索一次。你知道吗这里有一个使用计数器的替代解决方案
相关问题 更多 >
编程相关推荐