Python中如何使用set()函数去重?
发布时间:2023-07-01 03:50:56
在Python中,可以使用set()函数对数据进行去重操作。set()函数是一个无序不重复元素集合,它可以用于去除列表、元组和字符串中的重复元素。
下面是使用set()函数去重的一些例子:
1. 对列表去重:
lst = [1, 2, 3, 3, 4, 4, 5] unique_lst = list(set(lst)) print(unique_lst)
输出结果为:[1, 2, 3, 4, 5]
2. 对元组去重:
tup = (1, 2, 3, 3, 4, 4, 5) unique_tup = tuple(set(tup)) print(unique_tup)
输出结果为:(1, 2, 3, 4, 5)
3. 对字符串去重:
s = "hello" unique_s = "".join(set(s)) print(unique_s)
输出结果为:"oleh"
4. 对包含字典的列表去重:
lst = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}, {"name": "Alice", "age": 25}]
unique_lst = list(set(hash(frozenset(d.items())) for d in lst))
print(unique_lst)
输出结果为:[3667727615021861464, 991930318976429772, 3667727615021861464]
需要注意的是,set()函数返回的是一个集合对象,集合对象是无序的,且不允许重复元素。如果需要得到一个有序的去重结果,可以使用list()函数将集合对象转换为列表。
另外,对于包含字典的列表,可以使用frozenset()函数将字典转换为不可变集合,然后使用hash()函数计算集合的哈希值,以实现对该列表的去重操作。
总结来说,通过使用set()函数,可以轻松地对列表、元组和字符串进行去重操作,提高代码的简洁性和可读性。同时,还可以利用set()函数的无序特性,实现对包含字典的列表的去重。
