当前位置:   article > 正文

python笔记 - 集合set(九)_set1={2,3,5}

set1={2,3,5}

无序不重复序列,可使用{}或set()函数创建集合,空集合只能使用set()
集合中元素只能是字符串、数字、元组

1、创建集合

{value1, value2,...} 或 set(value)

>>> set1 = {'apple', 'orange', 'apple', 'banana'}
>>> set1
{'orange', 'apple', 'banana'}
>>> set1 = set({'apple', 'orange', 'apple', 'banana'})
>>> set1
{'orange', 'apple', 'banana'}
>>> type(set())
<class 'set'>
>>> type({})
<class 'dict'>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、返回两个集合交集(intersection)

set1.intersection(set2)

>>> set1 = {'apple', 'orange'}
>>> set2 = {'orange', 'banana'}
>>> set1.intersection(set2)
{'orange'}
  • 1
  • 2
  • 3
  • 4

3、返回两个集合并集(union)

set1.union(set2)

>>> set1 = {'apple', 'orange'}
>>> set2 = {'orange', 'banana'}
>>> set1.union(set2)
{'orange', 'apple', 'banana'}
  • 1
  • 2
  • 3
  • 4

4、做差

set1.difference(set2) set1中不同于set2中的元素

>>> set1 = {'apple', 'orange'}
>>> set2 = {'orange', 'banana'}
>>> set1.difference(set2)
{'apple'}
  • 1
  • 2
  • 3
  • 4

5、去重(symmetric_difference)

set1.symmetric_difference(set2) 并集去除重复

>>> set1 = {'apple', 'orange'}
>>> set2 = {'orange', 'banana'}
>>> set1.symmetric_difference(set2)
{'apple', 'banana'}
  • 1
  • 2
  • 3
  • 4

6、添加元素(add)

set.add(obj) obj为不可变数据类型

>>> set1 = {'apple', 'orange'}
>>> set1.add(1)
>>> set1.add('banbana')
>>> set1.add((1, 3, 4))
>>> set1
{1, 'banbana', 'apple', (1, 3, 4), 'orange'}
>>> set1.add([1, 3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> set1.add({'k':'v'})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
>>> set1.add({1, 3})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'set'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

7、添加元素(update)

set.update(obj) obj为可迭代对象,字符串是单个字符作为元素添加,其他数据结构单个元素添加

>>> set1 = {'apple', 'orange'}
>>> set1.update('chinese')
>>> set1
{'apple', 'h', 'n', 'c', 's', 'orange', 'i', 'e'}
>>> set1.update(["banana", 'grape'])
>>> set1
{'apple', 'banana', 'h', 'n', 'c', 's', 'grape', 'orange', 'i', 'e'}
>>> set1.update(["joker", '95'])
>>> set1
{'apple', 'banana', 'h', 'n', 'c', '95', 's', 'grape', 'orange', 'i', 'e', 'joker'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

8、随机移除元素,并返回该元素

set.pop()

>>> set1 = {'apple', 'orange', 'grape', 'banbana'}
>>> set1.pop()
'grape'
>>> set1
{'orange', 'apple', 'banbana'}
>>> set1.pop()
'orange'
>>> set1
{'apple', 'banbana'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

9、移除指定元素(remove)

set.remove(value) 不存在报错

>>> set1 = {'apple', 'orange', 'grape', 'banbana'}
>>> set1.remove('apple')
>>> set1
{'grape', 'orange', 'banbana'}
>>> set1.remove('apple')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'apple'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

10、移除指定元素(discard)

set.discard(value) 不存在不作操作

>>> set1 = {'apple', 'orange', 'grape', 'banbana'}
>>> set1.discard('apple')
>>> set1
{'grape', 'orange', 'banbana'}
>>> set1.discard('apple')
>>>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

11、清空集合中元素

set.clear()

>>> set1 = {'apple', 'orange', 'grape', 'banbana'}
>>> set1.clear()
>>> set1
set()
  • 1
  • 2
  • 3
  • 4

12、判断两个集合是否不相交

set1.isdisjoint(set2) 不相交返回True,相交返回False

>>> set1 = {1, 3, 5}
>>> set2 = {3, 5, 7}
>>> set1.isdisjoint(set2)
False
  • 1
  • 2
  • 3
  • 4

13、判断当前集合是否为指定集合的子集

set1.issubset(set2)

>>> set1 = {3, 5}
>>> set2 = {1, 3, 5}
>>> set1.issubset(set2)
True
  • 1
  • 2
  • 3
  • 4

14、判断当前集合是否为指定集合的超(父)集

set1.issuperset(set2)

>>> set1 = {1, 3, 5}
>>> set2 = {3, 5}
>>> set1.issuperset(set2)
True
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/75373?site
推荐阅读
相关标签
  

闽ICP备14008679号