大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

Home01.Non-unique Elements(非唯一元素)

0.题目

你将得到一个含有整数(X)的非空列表。在这个任务里,你应该返回在此列表中的非唯一元素的列表。要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表只有一次的元素)。解决这个任务时,不能改变列表的顺序。例如:[1,2,3,1,3] 1和3是非唯一元素,结果将是 [1, 3, 1, 3]。
输入: 一个含有整数的列表。
输出: 一个含有不唯一元素的整数列表。

1.相关知识点

1.1列表内建方法(基础)

list.count(obj) 统计某个元素在列表中出现的次数

1.2列表生成式(进阶)

例如:L = [x ** 2 for x in range(9)]

2.普通解法

def checkio(data):
      newlist = []
      for i in data:
           if data.count(i) > 1:
           newlist.append(i)
    return newlist

3.进阶解法

def checkio(data):
    return [x for x in data if data.count(x) >1]

4.列表内建函数

序号 函数 用途
1 cmp(list1,list2) 比较两个列表的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换为列表

5.列表内建方法

序号 方法 用途
1 list.append(obj) 在列表末尾添加新的对象
2 list.count(obj) 统计某个元素在列表中出现的次数
3 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值
4 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index,obj) 将对象插入列表
6 list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj) 移除列表中某个值的第一个匹配项
8 list.reverse() 反向列表中元素
9 list.sort([func]) 对原列表进行排序