Python集合set的用法

创建集合(括号中只能有一个参数):

>>> s = set('set')
>>> s
{'s', 't', 'e'}

>>> s = set(['set'])
>>> s
{'set'}

增加一个元素:

>>> s
{'set'}
>>> s.add('python')
>>> s
{'set', 'python'}

增加多个元素(求并集):

>>> s
{'set', 'python'}
>>> s.update('py')
>>> s
{'y', 'p', 'set', 'python'}
>>> s.update(['py','st'])
>>> s
{'y', 'p', 'py', 'st', 'python', 'set'}

删除一个元素:

>>> s
{'y', 'p', 'py', 'st', 'python', 'set'}
>>> s.remove('st')
>>> s
{'y', 'p', 'py', 'python', 'set'}

求交集:

>>> a = set([1,2,3])
>>> b = set([2,3,4])
>>> a & b
{2, 3}

求并集:

>>> a | b
{1, 2, 3, 4}

求差集:

>>> a - b
{1}
>>> b - a
{4}

集合是无序的,也不能对其进行索引或切片:

>>> a[0]
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    a[0]
TypeError: 'set' object does not support indexing

>>> a[:]
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    a[:]
TypeError: 'set' object is not subscriptable

判断一个集合是否是另一个子集:

>>> a
{1, 2, 3}
>>> b
{1, 2}
>>> b.issubset(a)
True
或
>>> b <= a
True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
集合Set)是 Python 的一种数据结构,它是由一组无序且唯一的元素组成的。集合的元素不重复,没有固定的顺序。你可以使用 set() 函数或者使用花括号({})来创建一个集合。 下面是一些集合的常用操作和用法: 1. 创建集合: - 使用 set() 函数创建一个集合:`my_set = set()` - 使用花括号创建一个非空集合:`my_set = {1, 2, 3}` 2. 添加元素: - 使用 `add()` 方法添加单个元素:`my_set.add(4)` - 使用 `update()` 方法添加多个元素:`my_set.update([5, 6, 7])` 3. 删除元素: - 使用 `remove()` 方法删除指定元素,如果元素不存在会抛出 KeyError 异常:`my_set.remove(4)` - 使用 `discard()` 方法删除指定元素,如果元素不存在不会抛出异常:`my_set.discard(4)` - 使用 `pop()` 方法随机删除并返回一个元素:`my_set.pop()` 4. 集合操作: - 并集操作:`union()` 或者 `|` 操作符:`set1.union(set2)` 或者 `set1 | set2` - 交集操作:`intersection()` 或者 `&` 操作符:`set1.intersection(set2)` 或者 `set1 & set2` - 差集操作:`difference()` 或者 `-` 操作符:`set1.difference(set2)` 或者 `set1 - set2` - 对称差集操作:`symmetric_difference()` 或者 `^` 操作符:`set1.symmetric_difference(set2)` 或者 `set1 ^ set2` 5. 其他常用方法: - `len()` 方法获取集合的长度:`len(my_set)` - `in` 关键字检查元素是否存在于集合:`element in my_set` 这些是集合的基本用法,你可以根据自己的需求灵活运用。希望对你有所帮助!如果有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值