#-*- coding：utf-8 -*-
#时间 ：2019-08-31 23:06
#作者：小白
'''
将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]去除重复元素
'''
'''
方法一：利用集合里元素不重复，set()
set里的所有元素都是不重复的，通过set去除所有的重复元素，在强制转换成list类型
'''
a = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
b = list(set(a))    #将a转换成set ，再转换成list
print(b)

'''

方法二：使用字典key唯一
'''
a = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]  
dict = {}      #定义一个空的字典
a_new = list(dict.fromkeys(a).keys())         #利用fromkeys()函数创建一个新的字典，以a里的元素做key值，在用keys()方法把dict里的所有key拿出来，强制转换成list
print(a_new)
'''
方法三：将列表中a的元素放到新的列表中，如果新的列表中存在这个元素就不加入。如果不存在这个元素就加入这个元素。
'''
a = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
b = []    #建一个新的list
#b.append(a[0])
for i in a:      #遍历a里的所有元素
    if i not in b:    #如果a里的元素不在b里，则将这个元素放到b列表中，如果a里的元素在b里，则不将这个元素放到列表中
        b.append(i)
print(b)


'''
方法四：用while去写方法三
'''
a = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
b = []
index = 0
while index < len(a):        #当index小于列表长度时，则执行循环体
    if a[index] not in b:    #如果a[index]不在b列表里。则将a[index]加入到b列表中，否则不加
        b.append(a[index])
    index = index+1
print(b)


