Python习题1:None-Unique Elements 习题+前三名答案解析(checkio.org)
[Python]
source :
www.checkio.org需要翻墙 初学 不定期更新此类题目
描述:
你将得到一个含有整数(X)的非空列表。在这个任务里,你应该返回在此列表中的非唯一元素的列表。要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表只有一次的元素)。解决这个任务时,不能改变列表的顺序。例如:[1,2,3,1,3] 1和3是非唯一元素,结果将是 [1, 3, 1, 3]。
输入: 一个含有整数的列表。
输出: 一个含有不唯一元素的整数列表。
范例:
checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3]
checkio([1, 2, 3, 4, 5]) == []
checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5]
checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9]
1
2
3
4
如何使用: 这个任务将帮助您了解如何操作数组,这是解决更复杂的任务的基础。这个概念可以很容易地推广到真实世界的任务。例如你需要通过删除低频的元素(噪声)来使统计数据更清楚。
前提:
0 < |X| < 1000
ans1:
checkio=lambda d:[x for x in d if d.count(x)>1]
ans2:
def checkio(data):
return [i for i in data if data.count(i) > 1]
ans3:
def checkio(data):
return [x for x in data if data.count(x) > 1]
答案解析:
平台前三答案基本相同,[]里的为list构建式
list.count() This method returns count of how many times obj occurs in list.
该语句表示:遍历list的元素,将出现次数大于1的元素取出,放到新的list中