作者:Gakki
01. 使用内置 set 方法去重
- set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
- sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
- list.sort(cmp=None, key=None, reverse=False)
- cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序。
- key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
- 该方法没有返回值,但是会对列表的对象进行排序。
test_data = [1, 2, 3, 4, 3, 5, 2, 2]
class ListReverse:
"""
列表去重,并按照原来的顺序排序
"""
# 利用 set 方法去重
def duplicate_1(self, data):
new_data = list(set(data))
# 利用 sort() 方法进行排序
new_data.sort(key=data.index)
return new_data
if __name__ == '__main__':
test = ListReverse()
print(test.duplicate_1(test_data))
[1, 2, 3, 4, 5]
02. 使用常规方法去重
old_list = [1, 2, 3, 4, 3, 5, 2, 2]
new_list = []
for value in old_list:
if value not in new_list:
new_list.append(value)
print(new_list)
[1, 2, 3, 4, 5]
03. 使用列表推导式去重
old_list = [1, 2, 3, 4, 3, 5, 2, 2]
new_list = []
[new_list.append(i) for i in old_list if i not in new_list]
print(new_list)
[1, 2, 3, 4, 5]
网友评论