(2023.7.12 附加作业): 给定一个列表,如 a = [1,2,3,1,2,4,6],用至少一种方法分别输出 里面的重复元素[1,2] 、去重后的元素[1, 2, 3, 4, 6]、非重复元素[3,4,6]三类
# 设计实验:
a = [1,2,3,1,2,4,6]
def is_repeat(a):
pass
def get_repeat(a):
pass
def remove_repeat(a):
pass
def non_repeat(a):
pass
print("列表中有的重复元素? ", is_repeat(a))
print("列表中的重复元素列表 = ", get_repeat(a))
print("列表中的去重复元素列表 = ", remove_repeat(a))
print("列表中的非重复元素列表 = ", non_repeat(a))
#模拟实验:
#判断列表中是否有重复的元素:
# 字典:
def is_repeat(a):
a = [1,2,3,1,2,4,6]
dic = {}.fromkeys(a)
if len(dic) == len(a):
return False
return True
print("列表中有的重复元素? ", is_repeat(a))
# 集合:
def is_repeat(a):
a = [1,2,3,1,2,4,6]
s = set(a)
if len(s) == len(a):
return False
return True
print("列表中有的重复元素? ", is_repeat(a))
#去除列表中的重复元素:
def remove_repeat(a):
a = [1,2,3,1,2,4,6]
out_repeat = list(set(a))
return out_repeat
print("去重复元素列表后=",remove_repeat([1,2,3,1,2,4,6]))
#得到列表中的重复元素:
def get_repeat(a):
a = [1,2,3,1,2,4,6]
repeat = [i for i in a if a.count(i) > 1 ]
#count函数用于统计字符串/列表/元组的某个字符或元素出现的次数
repeat_1 = list(set(repeat))
return repeat_1
print("列表中的重复元素列表 = ", get_repeat(a))
#得到列表中的非重复元素:
def non_repeat(a):
a = [1,2,3,1,2,4,6]
repeat_2 = [i for i in a if a.count(i) > 1 ]
repeat_3 = [x for x in a if x not in repeat_2]
return repeat_3
print("列表中的非重复元素列表 = ", non_repeat(a))
jupyter 演示: