Python学习笔记-集合


笔记是本人学习时为方便以后复习所作,原教程链接 Python3 教程 | 菜鸟教程
集合(set)是一个 无序不重复元素序列
使用大括号 { }或者set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是{ },因为{ }是用来创建一个空字典
创建格式:
parame = {value1,value2,...}
或者
set(value)

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)                #集合是无序且不重复的,每次输出的顺序都是随机的
print('orange' in fruit)    #判断元素是否在集合内
#集合间的运算
a = set('123456')
b = set('1357984')
print(a-b)                  #集合a中包含而集合b中不包含的元素
print(a|b)                  #集合a或b中包含的所有元素
print(a&b)                  #集合a和b中都包含了的元素
print(a^b)                  #不同时包含于a和b的元素

运行结果
{‘pear’, ‘apple’, ‘orange’, ‘banana’}
True
{‘6’, ‘2’}
{‘1’, ‘8’, ‘4’, ‘6’, ‘3’, ‘9’, ‘7’, ‘2’, ‘5’}
{‘1’, ‘3’, ‘5’, ‘4’}
{‘6’, ‘9’, ‘7’, ‘2’, ‘8’}

集合的基本操作

添加元素

s.add(x) 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
fruit.add('strawberry')
print(fruit)
fruit.add('apple')
print(fruit)

运行结果
{‘orange’, ‘pear’, ‘apple’, ‘banana’}
{‘banana’, ‘orange’, ‘apple’, ‘strawberry’, ‘pear’}
{‘banana’, ‘orange’, ‘apple’, ‘strawberry’, ‘pear’}

s.update(x1,x2,...) #参数可以是列表,元组,字典等

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
fruit.update(('strawberry',),(1,2,'hello'),[4,5,6])
print(fruit)

运行结果
{‘orange’, ‘apple’, ‘banana’, ‘pear’}
{1, ‘pear’, ‘strawberry’, ‘banana’, 2, 4, 5, 6, ‘apple’, ‘orange’, ‘hello’}

移除元素

s.remove(x) #将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
fruit.remove('apple')
print(fruit)
fruit.remove('hello')
print(fruit)

运行结果
{‘apple’, ‘banana’, ‘orange’, ‘pear’}
{‘banana’, ‘orange’, ‘pear’}
Traceback (most recent call last):
File “app.py”, line 5, in <module>
fruit.remove(‘hello’)
KeyError: ‘hello’

s.discard(x) #如果元素不存在,不会发生错误

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
fruit.remove('apple')
print(fruit)
fruit.remove('hello')
print(fruit)

运行结果
{‘banana’, ‘pear’, ‘orange’, ‘apple’}
{‘banana’, ‘pear’, ‘orange’}
{‘banana’, ‘pear’, ‘orange’}

s.pop() #随机删除集合中的一个元素

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
x = fruit.pop()
print(x)
print(fruit)

运行结果
{‘apple’, ‘pear’, ‘orange’, ‘banana’}
apple
{‘pear’, ‘orange’, ‘banana’}

计算集合元素个数

len(s)

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
print(len(fruit))

运行结果
{‘orange’, ‘apple’, ‘banana’, ‘pear’}
4

清空集合

s.clear()

fruit = {'apple','banana','orange','pear','banana'}
print(fruit)
fruit.clear()
print(fruit)

运行结果
{‘orange’, ‘banana’, ‘apple’, ‘pear’}
set()

判断元素是否在集合中存在

x in s

fruit = {'apple','banana','orange','pear','banana'}
print('apple' in fruit)
print('hello' in fruit)

运行结果
True
False

发布了9 篇原创文章 · 获赞 0 · 访问量 145

猜你喜欢

转载自blog.csdn.net/attackdily/article/details/104231571
今日推荐