当前位置:首页python > 正文

python中set()的用法

作者:野牛程序员:2024-08-13 23:26:02python阅读 2242
python中set()的用法

set() 是 Python 中的一个内置数据类型,表示一个无序、不重复元素的集合。以下是 set() 的常见用法:

1. 创建集合

  • 可以通过直接使用 set() 函数创建空集合。

  • 可以通过传入一个可迭代对象(如列表、字符串)来创建一个集合。

# 创建空集合
empty_set = set()

# 从列表创建集合
numbers = set([1, 2, 3, 4, 5])

# 从字符串创建集合
letters = set("hello")  # 集合将包含 'h', 'e', 'l', 'o'

2. 集合的基本操作

  • 添加元素:使用 add() 方法向集合添加元素。

  • 删除元素:使用 remove()discard() 方法从集合中删除元素。remove() 如果元素不存在会报错,而 discard() 则不会。

  • 检查元素:使用 in 关键字检查元素是否在集合中。

  • 清空集合:使用 clear() 方法清空集合中的所有元素。

numbers = set([1, 2, 3])

# 添加元素
numbers.add(4)  # numbers 变成 {1, 2, 3, 4}

# 删除元素
numbers.remove(3)  # numbers 变成 {1, 2, 4}

# 检查元素
print(2 in numbers)  # 输出 True
print(5 in numbers)  # 输出 False

# 清空集合
numbers.clear()  # numbers 变成空集合 set()

3. 集合的集合运算

  • 并集union()|,返回两个集合的并集。

  • 交集intersection()&,返回两个集合的交集。

  • 差集difference()-,返回当前集合相对于另一个集合的差集。

  • 对称差symmetric_difference()^,返回两个集合的对称差集,即只在其中一个集合中的元素。

a = set([1, 2, 3, 4])
b = set([3, 4, 5, 6])

# 并集
print(a.union(b))  # 输出 {1, 2, 3, 4, 5, 6}
print(a | b)       # 输出 {1, 2, 3, 4, 5, 6}

# 交集
print(a.intersection(b))  # 输出 {3, 4}
print(a & b)              # 输出 {3, 4}

# 差集
print(a.difference(b))  # 输出 {1, 2}
print(a - b)            # 输出 {1, 2}

# 对称差集
print(a.symmetric_difference(b))  # 输出 {1, 2, 5, 6}
print(a ^ b)                      # 输出 {1, 2, 5, 6}

4. 集合的其他操作

  • 集合的长度:使用 len() 函数获取集合中的元素个数。

  • 子集和超集:使用 issubset()issuperset() 方法检查一个集合是否是另一个集合的子集或超集。

  • 集合的复制:使用 copy() 方法创建集合的浅拷贝。

a = set([1, 2, 3, 4])
b = set([1, 2])

# 集合的长度
print(len(a))  # 输出 4

# 子集和超集
print(b.issubset(a))  # 输出 True
print(a.issuperset(b))  # 输出 True

# 集合的复制
c = a.copy()
print(c)  # 输出 {1, 2, 3, 4}#

5. 集合推导式

集合推导式可以用来创建集合,其语法类似于列表推导式,但使用 {} 代替 []

squared_set = {x**2 for x in range(1, 6)}  # 输出 {1, 4, 9, 16, 25}

总结,set() 在 Python 中是一个功能强大的工具,适用于需要快速去重或集合运算的场景。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • python
  • 最新推荐

    热门点击