集合常用操作

'''集合的方法
set1.add()          set1.update()       set1.copy()
set1.pop()          set1.remove()       set1.discard()
set1.clear()        set1.union()    
          
set1.issubset()     set1.issuperset()   set1.isdisjoint()
set1.difference()   set1.difference_update()    
set1.intersection() set1.intersection_update()
set1.symmetric_difference()     set1.symmetric_difference_update()
'''


set1 = {1, 2, 3}
# print(type(set1))
# 集合元素不得重复
# # 集合作用:  列表去重
list1 = [1, 2, 3, 2, 1, 3, 4, 'ppp']
list2 = list(set(list1))
print(list2)
print(type(list2))

# 空集合  set()
set2 = {}  # 字典
print(type(set2))
set3 = set()          # 空集合避免和字典搞混得用这种方式创建
print(type(set3))

# add():添加一个数据
set1.add(1000)    # 同样添加的数随机放
print(set1)
# print(set1[0]) # 集合没有下标,不支持排序,无序

# update() # 追加多个数据,参数是一个列表
set1.update([1000])
set1.update([1000, 2000, 3000])   # update()里面添加的是一个序列,注意这里是无序的添加
set1.update('python')             # 每次添加的位置不一样
print(set1)

# remove():没有这个数据是报错
set1.remove(1000)                 # 同之前的remove(要移除的数据),没有会报错
print(set1)
# discard(): 删除指定数据,如果没有这个数据,不做任何事
set1.discard('p')
print(set1)
# pop():返回值,集合中,用pop()删除数据,删除的是第一个数据
num = set1.pop()
print(num)
print(set1)

# 集合推导式
# 列表推导式  字典推导式  集合推导式

set3 = {i for i in range(10) if i % 2 == 0}
print(set3)


# & 交集
set10 = {1, 2, 3, 4}
set11 = {2, 3, 4, 5, 6}
print(set10 & set11)

# | 并集(包含所有不重复数据)
print(set10 | set11)
# print(set10 | list1)       # 符号操作
print(set10.union(list1))    # union()具有相同的方法
print(set10.union(set11))

# - # 差集:取前面这个集合有的数据,后面没有的数据
print(set10 - set11)
print(set11 - set10)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机视觉与深度学习基础

Codeforces 468B

很好的一道集合关系的题目,我比赛时用的是dfs,后来看到有人用并查集。 两种方法本质是一样的,但后者实现起来更方便,代码更简练。 /**************...

236100
来自专栏小詹同学

Leetcode打卡 | No.22 括号生成

欢迎和小詹一起定期刷leetcode,每周一和周五更新一题,每一题都吃透,欢迎一题多解,寻找最优解!这个记录帖哪怕只有一个读者,小詹也会坚持刷下去的!

29510
来自专栏SeanCheney的专栏

《利用Python进行数据分析·第2版》 附录A NumPy高级应用A.1 ndarray对象的内部机理A.2 高级数组操作A.3 广播A.4 ufunc高级应用A.5 结构化和记录式数组A.6 更多

在这篇附录中,我会深入NumPy库的数组计算。这会包括ndarray更内部的细节,和更高级的数组操作和算法。 这章包括了一些杂乱的章节,不需要仔细研究。 A.1...

73660
来自专栏用户画像

C语言测试题

2. 假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面式子:

22650
来自专栏西枫里博客

Python学习笔记十(lambda表达式)

lambda是一个表达式,并不像def一样定义一个复杂的函数,很简洁的一个代码块。通常被用来创建匿名函数。lambda的好处也很明显,首先省去了函数的定义过程,...

9220
来自专栏猿人谷

三十分钟掌握STL

这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟...

27880
来自专栏游戏开发那些事

三十分钟掌握STL

这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟...

13640
来自专栏搞前端的李蚊子

JS使用循环按指定倍数分割数组组成新的数组的方法

 今天一个新人同事问了我一个问题,就是有一个像下边这种不知道具体长度的数组,想以每4个为一组,重新组合为一个二维数组,很简单的需求只需要用到一个循环再去取余数就...

48170
来自专栏伪君子的梦呓

题解 ~ 输出三个数中的最大值 ~ C++ 做法

25950
来自专栏九彩拼盘的叨叨叨

学习纲要:JavaScript 基础语法

12330

扫码关注云+社区

领取腾讯云代金券