Python学习(十三):集合定义和基本操作方法
这是我关于Python学习的第十三篇博客,加油!
集合一般是可变的,但若是由frozenset定义的集合,则不可变
1.集合定义
由不同元素组成的集合,集合中是一组无序的可hash的值,可以作为字典的key,集合中元素必须是不可变类型
2. 集合的创建
(1)直接用大括号括起来
s={1,2,3,3,2,1,3,4,54,6,67}
print(s)#{1, 2, 3, 4, 67, 6, 54},集合中元素为不同的
(2)使用set函数定义可变集合
s=set('hello')
print(s)#{'o', 'h', 'l', 'e'},用for循环遍历“hello”
b=set(['abd','bud','abc','abd'])
print(b)#{'bud', 'abc', 'abd'}
(3)使用frozenset函数定义不可变集合
s=frozenset('hello,world')
print(s)#frozenset({'d', 'e', 'h', ',', 'l', 'o', 'r', 'w'})
1. 集合的内置方法
- add:添加一个元素,要添加的元素已在原集合中存在时,则不会反应
s={'alex','hello',1,2,3,4,5,6}
s.add('love')
s.add(1)
print(s)#{1, 2, 3, 'alex', 4, 5, 6, 'love', 'hello'}
- clear:清空
s.clear()
print(s)#set()
- pop:随机删除并获取元素
s2=s.pop()
print(s,s2)#{2, 3, 4, 5, 6, 'alex', 'hello', 'love'} 1
- remove:删除指定元素,若要删除的元素不在,则报错
- discard:删除指定元素,若要删除的元素不在,不会报错
s.remove('alex')
print(s)#{1, 2, 3, 4, 5, 6, 'hello', 'love'}
s.remove('upni')
print(s)#报错
s.discard('upni')
print(s)#{1, 2, 3, 4, 5, 6, 'hello', 'love'}
- copy:拷贝原集合
s={1, 2, 3, 'alex', 4, 5, 6, 'love', 'hello'}
s1=s.copy()
print(s1)#{1, 2, 3, 'alex', 4, 5, 6, 'love', 'hello'}