python 之集合(set)

集合是一个无序的,不允许重复的元素列表,根据这个特性,可以利用集合对列表进行去重操作

集合创建

# 集合中不能含list、dict
set2 = {"rice", 1, (True, False)}
# 通过set()函数传入可迭代对象创建集合
set3 = set(range(10))
set4 = set(list(range(10)))
set5 = set(tuple(range(10)))
set6 = set("hello")print(set2)
print(set3)
print(set4)
print(set5)
print(set6)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/set_1.py
{1, (True, False), 'rice'}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{'e', 'l', 'h', 'o'}

集合运算

set1 = {2, 3, 4, 6, 5, 10}
set2 = {1, 3, 4, 9, 10}
# 集合的交集, 取共有的元素
result1 = set1 & set2
# 集合的差集,取集合2中不存在的元素
result2 = set1 - set2
# 集合的并集,取集合1、2所有元素
result3 = set1 | set2
# 集合的对称差,取集合1、集合2中不相同的元素
result4 = set1 ^ set2
print(result1)
print(result2)
print(result3)
print(result4)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/set_1.py
{10, 3, 4}
{2, 5, 6}
{1, 2, 3, 4, 5, 6, 9, 10}
{1, 2, 5, 6, 9}

给列表去重操作

list1 = [2, 2, 4, 5, 6, 6, 9, 0, 9]
# 利用集合去重
set1 = set(list1)
# 再将集合转成列表
list1 = list(set1)
print(list1)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/set_1.py
[0, 2, 4, 5, 6, 9]

 

posted @ 2020-12-26 15:08  **绵绵羊**  阅读(140)  评论(0编辑  收藏  举报