Python数据类型之Set集合实例详解

yipeiwu_com6年前Python基础

本文实例讲述了Python数据类型之Set集合。分享给大家供大家参考,具体如下:

set集合

1.概述

set与dict类似,但set是一组key的集合,与dict的区别在于set不存储value。

本质:无序且无重复元素的集合(具有自动去重的功能)。

2.set的创建

语法:

set1 = set([1, 2, 3, 4, 5])

注意:创建set需要一个list或者tuple或者dist作为输入集合,重复的元素在set中会被自动的过滤

s1 = set([1, 2, 3, 4, 5])
print(s1)

输出:

{1, 2, 3, 4, 5}

3.set操作

3.1 set.add()

1.可以添加重复的元素,但是不会有效果

2.add 的元素不能是列表或者字典,因为他们是可变的

s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)

结果

{1, 2, 3, 4, 5, 6, (2, 3, 4)}

3.2 set.update()

功能:插入整个list、tuple、字符串打碎插入

注意:不能直接插入数字。

s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)

结果

{1, 2, 3, 4, 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}

3.3 set.remove(元素)

功能:删除元素

s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)

输出:

{1, 2, 4, 5}

3.4 遍历元素

语法:

for i in set :
print(i)

注意:set是无序的,因此不能通过下标获取元素。

for index, data in enumerate(set):
  print(index, data)

可以通过这种方式,来强行添加下标

s1 = set([1, 2, 3, 4, 5])
for i in s1:
  print(i)
for index,data in enumerate(s1):
  print(index, data)

输出:

1
2
3
4
5
0 1
1 2
2 3
3 4
4 5

3.5 交集与并集

语法:

交集 newest = set1 & set2
并集 newest = set1 | set2

s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)

结果

{4, 5}
{1, 2, 3, 4, 5, 6, 7}

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python列表(list)操作技巧总结》、《Python字典操作技巧汇总》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

使用OpenCV实现仿射变换—旋转功能

使用OpenCV实现仿射变换—旋转功能

在前面实现了平移和缩放,还有一种常用的坐标变换,那就是旋转。比如拍摄的照片上传到电脑里,再打开时发现人的头在下面脚在上,这样肯定看不了,那么就需要把这个照片旋转180度才可以接受。由于旋...

ActiveMQ:使用Python访问ActiveMQ的方法

ActiveMQ:使用Python访问ActiveMQ的方法

Windows 10家庭中文版,Python 3.6.4,stomp.py 4.1.21 ActiveMQ支持Python访问,提供了基于STOMP协议(端口为61613)的库。 Act...

python实现中文文本分句的例子

对于英文文本分句比较简单,只要根据终结符"."划分就好,中文文本分句看似很简单,但是实现时会遇到很多麻烦,尤其是处理社交媒体数据时,会遇到文本格式不规范等问题。 下面代码针对一段一段的短...

解决Python pandas df 写入excel 出现的问题

解决Python pandas df 写入excel 出现的问题

学习Python数据分析挖掘实战一书时,在数据预处理阶段,有一节要使用拉格朗日插值法对缺失值补充,代码如下: #-*- coding:utf-8 -*- import pandas...

研究Python的ORM框架中的SQLAlchemy库的映射关系

前面介绍了关于用户账户的User表,但是现实生活中随着问题的复杂化数据库存储的数据不可能这么简单,让我们设想有另外一张表,这张表和User有联系,也能够被映射和查询,那么这张表可以存储关...