Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养。
题目:
删除列表中所有重复的元素,要求不能修改列表中原有元素的顺序。
分析:
说到去重:第1个想到就是基于集合的特性(集合中的元素唯一),但是要求不能修改原有列表中元素的顺序(集合是无序的);则可以通过双层循环遍历的方式依次比较元素与其之前的元素是否相等,如果相等则删除。
实现:
def del_same_element(lists):
'''
删除列表中重复的元素
:param lists: list,要删除的元素
:return: None
'''
for i in range(len(lists)-1, -1, -1):
for j in range(i):
if lists[i] == lists[j]:
del lists[i]
break
list01 = [4 ,6, 5, 3, 6, 6, 5, 4]
del_same_element(list01)
print('删除后的列表:', list01)
结果:
删除后的列表: [4, 6, 5, 3]
【结语】以上整个程序的实现逻辑,还存在很多不全面的地方,欢迎各位大佬指点;如果觉得笔者不易,请给予点赞,给予我记录更多文章的动力!!