Python内置数据结构之一。
集合的特点
无序,所以没有索引;无重复数据;可多种数据类型混存;可变序列。集合一旦创建,便无法更改元素。
在向集合中添加数据时,它存储的位置是需要通过hash()哈希函数计算得到的,第一个添加的不一定在第一个位置上,所以集合是无序的。
集合的创建
1){}
语法格式:set_name = {element, element, …… , element}
元素之间用英文版的逗号隔开。
s = {'hello',99,'python',99,68,'world',99}
print(type(s),s) # <class 'set'> {99, 68, 'world', 'python', 'hello'}
集合中的元素是无序的:输入顺序和输出的顺序不同。
且集合中的元素是独一无二的,它能过滤掉重复的元素:重复的数据只打印一次。
2)内置函数set()
将其他可迭代对象转换为集合类型。
语法格式:set_name = set(iterable)
参数说明:
iterable :可迭代对象。
返回值:返回一个新的集合对象。
代码演示:
s1 = set((10,20,30,40))
print(type(s1),s1) # <class 'set'> {40, 10, 20, 30}
s2 = set(range(10))
print(type(s2),s2) # <class 'set'> {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
s3 = set(['hello',10,'python',21])
print(type(s3),s3) # <class 'set'> {'hello', 10, 21, 'python'}
s4 = set('python')
print(type(s4),s4) # <class 'set'> {'h', 'n', 'y', 't', 'o', 'p'}
s5 = set({10,55,77,88})
print(type(s5),s5) # <class 'set'> {88, 10, 77, 55}
3)创建空集合
只能使用内置函数set() 创建空集合。{}创建的是空字典。
s = set()
print(type(s),s) # <class 'set'> set()
# {}创建的是一个空字典
s1 = {}
print(type(s1),s1) # <class 'dict'> {}
4)集合生成式
有规则的元素才能用集合生成式。
语法格式:
代码演示:
s = {i*2 for i in range(1,6)}
print(type(s),s) # <class 'set'> {2, 4, 6, 8, 10}
s1 = {i*2 for i in 'abc'}
print(type(s1),s1) # <class 'set'> {'bb', 'cc', 'aa'}
集合的查询操作
1、in/not in 判断某个元素是否存在。
语法格式:element in set_name
如果元素在集合中,则返回True,反之返回False。
s = {10,50,'hello','python',100}
# 判断10在集合s中是否存在
print(10 in s) # True
# p不在集合中,所以返回False
print('p' in s) # False
# 判断100是否不在集合s中
print(100 not in s) # False
2、使用for-in循环将每个元素打印出来。
集合是可迭代对象,可以使用 for-in 循环来遍历。
s = {'hello',99,'python',99,68,'world'}
for i in s:
print(i)
© 版权声明
本站网络名称:
尤尤博客
本站永久网址:
https://www.yxfseo.cn
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,请在24H内删除。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
暂无评论内容