程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(4)

Python集合set

发布于2020-02-24 22:49     阅读(1342)     评论(0)     点赞(1)     收藏(1)


博客简介

集合(set)是一个无序的不重复元素序列,内部的元素是无序的。本篇博客将详细介绍set的用法:

  • 创建集合
  • 集合运算
  • 集合的基本操作
  • 集合的内建函数

创建集合

  • 可以使用大括号 { } 或者 set() 函数创建集合
  • 创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
  • 举例:
set1={'A','B','C'}
set2=set({1,2,3})
print(set1)
print(set2)
'''
{'C', 'B', 'A'}
{1, 2, 3}
'''

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

集合运算

集合间的运算有:

  • 或运算:|

  • 与运算:&

  • 异或运算:^

  • 减法运算:-

set1=set('abcde')
set2=set('defgh')
print((set1|set2))
print((set1&set2))
print((set1-set2))
print((set1^set2))
'''
{'b', 'c', 'a', 'd', 'f', 'e', 'g', 'h'}
{'d', 'e'}
{'b', 'a', 'c'}
{'b', 'c', 'a', 'h', 'g', 'f'}
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

集合的基本操作

一般地,集合的基本操作有:

  • 添加元素:set.add(value)
  • 移除元素:set.remove(value)
  • 计算集合元素个数:len(set)
  • 遍历集合:for value in set
  • 判断元素是否在集合中存在:
  • 清空集合

举例:

set1={'a','b','c','d'}
print(set1)
set1.add('Hello')
print(set1)
set1.remove('Hello')
print(set1)
print(len(set1))
for value in set1:
	print(value)
print("Hello" in set1)
set1.clear()
print(len(set1))
'''
4
b
a
d
c
False
0
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

set的内建函数

方法 描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()浅拷贝一个集合,=是深拷贝
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素,该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。
intersection()返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

举例:

set1={'A','B','C'}
set2=set({1,2,3})
print(set1)
print(set2)
'''
{'C', 'B', 'A'}
{1, 2, 3}
'''

set1=set('abcde')
set2=set('defgh')
print((set1|set2))
print((set1&set2))
print((set1-set2))
print((set1^set2))
'''
{'b', 'c', 'a', 'd', 'f', 'e', 'g', 'h'}
{'d', 'e'}
{'b', 'a', 'c'}
{'b', 'c', 'a', 'h', 'g', 'f'}
'''

set1={'a','b','c','d'}
print(set1)
set1.add('Hello')
print(set1)
set1.remove('Hello')
print(set1)
print(len(set1))
for value in set1:
	print(value)
print("Hello" in set1)
set1.clear()
print(len(set1))
'''
4
b
a
d
c
False
0
'''

set1={'a'}
set2=set1;
set2.add(0)
print(set1)
print(set2)
set1={'a'}
set2=set1.copy()
set2.add(0)
print(set1)
print(set2)
'''
{0, 'a'}
{0, 'a'}
{'a'}
{0, 'a'}
'''

set1={'a','b'}
set2={'a','c'}
print(set1.difference(set2))
# {'b'}
set1.difference_update(set2)
print(set1)
# {'b'}

set1={'Hello','world','Python'}
set1.discard("Hello")
print(set1.discard('!'))
print(set1)
'''
None
{'world', 'Python'}
'''
set1={'a','b'}
set2={'a','c'}
print(set1.intersection(set2))
print(set1)
set1.intersection_update(set2)
print(set1)
'''
{'a'}
{'b', 'a'}
{'a'}
'''
set1={'a'}
set2={'a','b'}
print(set1.isdisjoint(set2))
print(set1.issubset(set2))
print(set2.issuperset(set1))
'''
False
True
True
'''
set1={'a','b'}
set1.pop()
print(set1)
#a/b
set1={'a'}
set2={'a','b'}
print(set1.symmetric_difference(set2))
set1.symmetric_difference_update(set2)
print(set1)
'''
{'b'}
{'b'}
{'b'}
'''
set1={'a'}
set2={'a','b'}
print(set1.union(set2))
'''
{'b', 'a'}
'''
set1.update([1,2,3,4])
print(set1)
#{1, 2, 3, 4, 'a'}















  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
发布了165 篇原创文章 · 获赞 321 · 访问量 5万+


所属网站分类: 技术文章 > 博客

作者:我是天上的仙女

链接:https://www.pythonheidong.com/blog/article/232644/9ac2d71036088a2fae56/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)