Python-集合-17

'''
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
     {}
'''
set1 = set({1,2,3})
# set2 = {1,2,3,[2,3],{'name':'alex'}}  # 错的
print(set1)  # {1, 2, 3}
# print(set2)
set1 = {'alex','wusir','ritian','egon','barry',}


#
# add
set1.add('女神')
print(set1) # {'alex', 'wusir', 'egon', '女神', 'ritian', 'barry'}


#update
set1.update('abc')
print(set1) # {'alex', 'wusir', 'b', 'egon', 'c', '女神', 'ritian', 'a', 'barry'}


#删除

set1.pop()  # 随机删除
print(set1.pop())  # 有返回值 wusir
print(set1)  # {'b', 'egon', 'c', '女神', 'ritian', 'a', 'barry'}

# set1.remove('alex')  # 按元素
# print(set1)

# 空字典 - {}    空集合 - set()
# set1.clear()
print(set1)  # set()

#del set1
# print(set1)


#
for i in set1:
    print(i)
'''
alex
ritian
barry
b
c
wusir
女神

'''

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
set3 = set1 & set2 # 交集
print(set3)  # {4, 5}
print(set1.intersection(set2))  # {4, 5}

'''
描述
intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。

语法
intersection() 方法语法:

set.intersection(set1, set2 ... etc)

参数
set1 -- 必需,要查找相同元素的集合
set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开

返回值
返回一个新的集合。

'''

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}

'''
描述
union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。

语法
union() 方法语法:

set.union(set1, set2...)

参数
set1 -- 必需,合并的目标集合
set2 -- 可选,其他要合并的集合,可以多个,多个使用逗号 , 隔开。

返回值
返回一个新集合。

'''

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}
'''
描述
symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

语法
symmetric_difference() 方法语法:

set.symmetric_difference(set)

参数
set -- 集合

返回值
返回一个新的集合。
'''

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)  # {1, 2, 3}
#set1独有的
print(set1.difference(set2))  # {1, 2, 3}

'''
描述
difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。

语法
difference() 方法语法:

set.difference(set)

参数
set -- 必需,用于计算差集的集合

返回值
返回一个新的集合。

'''

set1 = {1,2,3,}
set2 = {1,2,3,4,5,6}

print(set1 < set2) # True
print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。 # True

print(set2 > set1) # True
print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。 # True


#去重
li = [1,2,33,33,2,1,4,5,6,6]
set1 = set(li)
print(set1) # {1, 2, 33, 4, 5, 6}

li = list(set1)
print(li)  #  [1, 2, 33, 4, 5, 6]

s1 = {1,2,3}
print(s1,type(s1)) # {1, 2, 3} <class 'set'>

s = frozenset('barry')
print(s,type(s))
for i in s:
    print(i)

'''
描述
frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

语法
frozenset() 函数语法:

class frozenset([iterable])

参数
iterable -- 可迭代的对象,比如列表、字典、元组等等。

返回值
返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。

'''

猜你喜欢

转载自www.cnblogs.com/LXL616/p/10642985.html