python 集合

# 集合
"""
集合(set)是一个无序的不重复元素序列。
使用大括号 { } 或者 set() 函数创建集合
创建一个空集合必须用 set()
"""
# 创建集合
sets = {'value1', 'value2', 'value3'}
print(sets)
# 创建集合set()
set_hs = set('123456')
print(set_hs)  # 返回 {'5', '4', '6', '1', '3', '2'}
# 创建空集合
set_kong = set()
print(type(set_kong))  # 返回set() 类型是set

# 集合创建去除重复值 重复元素会去除
mylike = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(mylike)  # 返回 {'orange', 'banana', 'apple', 'pear'}

# in 判断元素是否在集合内
if 'apple' in mylike:
    print("存在")
else:
    print("NO")

# 集合操作
# set.add(x) 将元素x添加到集合中,如果元素已存在,则不进行任何操作
mylike.add('西红柿')
mylike.add('orange')
print(mylike)

# set.update(x) 将多个元素x添加到集合中,多个,用逗号分开,参数可以是列表,元组,字典等
# 修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。
mylike.update("苹果")
print(mylike)  # 返回 {'pear', 'apple', 'banana', '果', 'orange', '苹', '西红柿'}
mylike.update({'name': 'qaz'})
print(mylike)
mylike.update([1, 5], [5, 9])
print(mylike)

# set.remove(x) 移除集合中存在的的元素,不存在报错
mylike.remove('apple')
print(mylike)

# set.discard(x) 移除集合中的元素,且如果元素不存在,不会发生错误
mylike.discard('eeeee')
print(mylike)

# set.pop() 随机删除集合中的一个元素
#  pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除
mylike.pop()
print(mylike)

# len() 计算集合元素个数
print(len(mylike))

# set.clear() 清空集合
mylike.clear()
print(mylike)

# x in set 判断元素是否在集合中存在

# set.copy() 拷贝一个集合
mylike2 = mylike.copy()
print(mylike2)

# set.difference(set) 返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中
set1 = {"app", "ban", "che"}
set2 = {"goo", "micr", "app"}
set3 = set1.difference(set2)
print(set3)

# set.difference_update(set) 移除两个集合中都存在的元素  直接在原来的集合中移除元素,没有返回值。
set1.difference_update(set2)
print(set1)

# set.intersection(set1, set2 ... etc) 返回两个或更多集合中都包含的元素,即交集
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.intersection(y)
print(z)

# set.intersection_update(set1, set2 ... etc)  获取两个或更多集合中都重叠的元素,即计算交集  在原始的集合上移除不重叠的元素。
x.intersection_update(y)
print(x)

# set.isdisjoint(set)  判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
z = x.isdisjoint(y)
print(z)

# set.issubset(set) 用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False
# 判断集合 x 的所有元素是否都包含在集合 y 中:
x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
z = x.issubset(y)
print(z)

# set.issuperset(set)  用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。
# 判断集合 y 的所有元素是否都包含在集合 x 中:
x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
z = x.issuperset(y)
print(z)

# set.symmetric_difference(set) 返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.symmetric_difference(y)
print(z)

# set.symmetric_difference_update(set) 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
x.symmetric_difference_update(y)
print(x)

# set.union(set1, set2...) 返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.union(y)
print(z)

 

 

 

posted @ 2019-12-08 12:50  微刻时光  阅读(299)  评论(0编辑  收藏  举报