发布网友 发布时间:2024-09-06 17:36
共1个回答
热心网友 时间:2024-09-28 03:38
导读:今天首席CTO笔记来给各位分享关于Python有多少集合的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
Python的集合介绍和列表类似,集合也是一个数据集合,其也不要求元素的类型一致。但是集合有下面两个特点:
?集合内元素唯一。如不可以用1、2、1、1组成集合,因为其包含重复的1。
?集合是无序的,添加元素时不能指定位置,删除元素时也不能通过指定位置,只能通过指定值。当然也不能通过位置来定位某个元素。
1、创建集合
我们可以从列表创建集合,将列表中的元素都加入到集合中,如果有重复的元素就仅保留一个。
a=set([1,1,3])
print(a)#输出结果:set([1,3])???
也可以从元组、字典和其他集合构建集合。比如:
a=set((0,1,2,3,3,2))??
使用的是字典的键来构建集合,字典的值没有被使用到,比如:
a=set({1:10,2:20,3:30})
从字符串构建集合,其每个字符都成为集合的一个元素,比如:
a=set("abcdefabc")?
输出结果:a={'c','e','f','b','d','a'}
另外一个集合构建集合,比如:
a=set([1,2,3])?
b=set(a)?输出结果:b={1,2,3}
当然也可以构造一个空的集合,使用的方法是set()。空集合没有任何元素,比如:
a=set()
1.添加元——add(值)
该函数只能添加一个元素。
如果添加的元素已经在集合中存在,那么不会发生任何变化。
2.扔掉元素——discard(值)
该函数删除集合中指定的值对应的元素。
如果指定值在集合中不存在,则不做任何操作。
3.删除指定值——remove(值)
该函数和discard()的不同之处在于,如果指定的值在集合中不存在,会抛出异常。
4.清空所有元素——clear()
该函数扔掉所有的元素。执行完该函数后,该集合将变成一个空的集合。
a.clear()
5.删除第一个元素——pop()
如果集合中有元素,则返回值为删除掉的元素的值。
如果集合为空,则抛出异常。
6.得到差集——difference(集合对象)
该函数返回一个新的集合,该集合包含所有属于a而不属于b的元素,如图所示。该操作不会改变原始集合a或者b的内容。
7.差集操作符(-)
该操作符和difference()类似,返回一个新的集合,该集合包含所有属于a而不属于b的元素。该操作不会改变原始输入集合a或者b的内容。
8.从集合中删除另一个集合中存在的元素——difference_update(集合对象)
该函数和difference()的不同是操作数a会被修改,而且没有返回值。
9.得到两个集合的交集——intersection(集合)
该函数返回所有的同时属于集合a和集合b的元素组成的集合,即返回的是一个集合,该集合的所有元素都同时属于集合a和b,如图所示。输入集合a和b在该过程中没有发生任何改变。
10.交集操作符()
该操作符和intersection()的效果是一样的。
11.删除集合a中所有不属于集合b的元素——intersection_update(集合)
该函数也是求交集,与intersection()不同的是其修改原始输入集合,并且没有返回值。这也是为何该接口函数后面带有update字样,因为其更新了原来的输入集合。
12.是否存在交集——isdisjoint()
该函数判断是否存在这样的元素,其同时属于集合a和集合b。如果存在这样的元素,返回False;否则返回True。
13.并集——union(集合a,集合b)
该函数返回一个新的集合,该集合的元素要么属于输入集合a要么属于集合b。该操作不修改作为输入的两个集合a和b。如图表示该函数返回的集合的内容。
14.并集操作符(|)
该操作符和union()的效果是一样的。其返回一个并集,并且不修改输入集合的内容。
15.添加属于b而不属于a的元素——update()
该函数在集合a中添加属于b而不属于a的所有元素。该操作和union()不同的是,其修改了输入集合a,并且没有返回值。
16.外集——symmetric_difference()
外集就是由只属于集合a或者只属于集合b的元素组成的集合,如图所示。该操作返回一个新的集合,并且不修改原来的输入集合a和b。
17.外集操作符(^)
该操作符和symmetric_difference()的效果是一样的,也是返回一个新的集合,并且不会修改输入的集合a或者b。
18.a和b的并集减去a和b的交集——symmetric_difference_update()
该函数和symmetric_difference()的区别是,其修改了集合a的值,并且没有返回值。
19.是指定集合的子集吗——issubset()
a是b的子集就是说集合a的所有元素都属于集合b。
如果a等于b,那么a和b互为子集。
20.是指定集合的超集吗——issuperset()
a是b的超集合就是说集合b中的所有元素都属于集合a。
如果a是b的超集,那么b就是a的子集。
如果a等于b,那么它们互为子集,同时也互为超集。
Python简明教程---13,Python集合
目录
前几节我们已经介绍了Python中的列表list,元组tuple和字典dict,本节来介绍Python中的最后一种数据结构——集合set。
Python中的set与dict很像,唯一的不同是,dict中保存的是键值对,而set中只保存键,没有值。
Python集合有如下特点:
Python集合的声明有两种方式:
创建空集合时,只能用set(),而不能用{}:
创建非空集合时,可以用set(),也可以用{}:
由于集合中的元素是唯一的,如果初始化时的可迭代数据中有重复的元素,则会自动删去重复的元素:
使用len()函数可以查看集合中元素的个数:
由于Python集合中的元素的是无序的,所以可不能使用下标的方式来访问集合中的单个元素。
我们可以使用for循环来遍历集合中的所有元素:
我们可以对两个集合进行如下运算:
交集与并集
in运算
使用dir(set)查看集合支持的所有方法:
下面一一介绍这些非魔法方法,共17个。
1.add方法
由于集合中的元素是唯一的,向集合中添加元素时有两种情况:
示例:
2.remove方法
示例:
3.discard方法
示例:
4.pop方法
示例:
5.union方法
示例:
6.update方法
示例:
7.clear方法
示例:
8.copy方法
示例:
9.difference方法
示例:
10.difference_update方法
示例:
11.intersection方法
示例:
12.intersection_update方法
示例:
13.isdisjoint方法
示例:
14.issubset方法
示例:
15.issuperset方法
示例:
16.symmetric_difference方法
示例:
17.symmetric_difference_update方法
示例:
(完。)
推荐阅读:
Python简明教程---8,Python字符串函数
Python简明教程---9,Python编码
Python简明教程---10,Python列表
Python简明教程---11,Python元组
Python简明教程---12,Python字典
python基本数据类型Python中主要有8种数据类型:
number(数字)、string(字符串)、list(列表)、tuple(元组)、dict(字典)、set(集合)、Boolean(布尔值)、None(空值)。
结语:以上就是首席CTO笔记为大家整理的关于Python有多少集合的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于Python有多少集合的相关内容别忘了在本站进行查找喔。