在Python中,清除列表中的重复元素可以通过以下几种方法:
1. 使用 `set` 函数:
my_list = [1, 2, 3, 3, 4, 5, 5, 6]my_list = list(set(my_list))print(my_list) 输出:[1, 2, 3, 4, 5, 6]
2. 使用字典的 `keys`:
alist = [1, 1, 2, 2, 3, 3, 3, 4, 5, 6, 6]b = {}b = b.fromkeys(alist)alist = list(b.keys())print(alist) 输出:[1, 2, 3, 4, 5, 6]
3. 使用列表的 `count` 函数:
alist = [1, 1, 2, 2, 3, 4, 5, 5, 6, 6, 6, 7, 8, 9, 9, 9]i = 0while i < len(alist):if alist.count(alist[i]) != 1:alist.pop(i)else:i += 1print(alist) 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]

4. 排序后删除重复元素:
def deleteDuplicatedElementFromList(lst):lst.sort()length = len(lst)lastItem = lst[length - 1]for i in range(length - 2, -1, -1):currentItem = lst[i]if currentItem == lastItem:lst.remove(currentItem)else:lastItem = currentItemreturn lstlistA = ['python', '语', '言', '是', '一', '门', '动', '态', '语', '言']print(deleteDuplicatedElementFromList(listA)) 输出:['python', '语', '言', '是', '一', '门', '动', '态']
5. 使用列表解析式:
test_list = [1, 3, 5, 6, 3, 5, 6, 1]res = [i for i in test_list if i not in res]print(res) 输出:[1, 3, 5, 6]
以上方法都可以有效地去除列表中的重复元素。选择哪一种方法取决于你的具体需求和列表的特性。需要注意的是,使用 `set` 函数会丢失原始列表的顺序,而排序方法会改变列表中元素的顺序。如果你需要保持元素的原始顺序,你可能需要使用其他方法,如使用字典的 `keys` 或者列表解析式
