Python3-2020-测试开发-9- 集合set

一、set()定义

"""
set()集合:集合是无序可变的,不可重复,集合底层是字典实现,
集合中的所有元素都是字典中的“键对象”,因此是不能重复的,且是唯一的
"""

二、集合

2.1 集合创建

# 1.集合创建

创建空的set集合
b = set()
a = {11,22,33,55,44,66} print(type(a)) # <class 'set'> print(a) # {33, 66, 11, 44, 22, 55} a.add(77) a.add(33) print(a) # {33, 66, 11, 44, 77, 22, 55}

2.2 使用set()将列表,元组等可迭代对象转化成集合,如果原来数据存在重复元素,则只保留一个

# 2. 使用set(),将列表,元组等可迭代对象转化成集合,如果原来数据存在重复元素,则只保留一个

b1 = [11,22,11,33,33,33,44,55,22]
b2 = (22,33,44,11,22,33,55)

c1 = set(b1)
print(c1)          # {33, 11, 44, 22, 55}
c2 = set(b2)
print(c2)          # {33, 11, 44, 22, 55}

2.3 remove()删除指定元素;clear()清空整个集合

# 3. remove()删除指定元素;clear()清空整个集合
c1.remove(33)
print(c1)          # {11, 44, 22, 55}
c2.clear()
print(c2)          # set()

2.4 集合中的相关操作,并集,交集,差集等运算

# 4.集合中的相关操作,并集,交集,差集等运算

x = {11,22,'666',33}
y = {12,13,14,'666'}

# 并集
print(x|y)           # {33, '666', 11, 12, 13, 14, 22}
print(x.union(y))    # {33, 11, 12, 13, 14, '666', 22}
# 交集
print(x&y)                 # {'666'}
print(x.intersection(y))   # {'666'}
# 差集  x中有而y中没有的
print(x-y)                # {33, 11, 22}
print(x.difference(y))    # {33, 11, 22}

 

posted @ 2020-05-07 17:40  旅行没有终点  阅读(140)  评论(0编辑  收藏  举报