前言:
此时我们对“python的set用法”都比较关怀,看官们都需要剖析一些“python的set用法”的相关资讯。那么小编也在网摘上收集了一些有关“python的set用法””的相关知识,希望我们能喜欢,朋友们一起来了解一下吧!集合Set数据类型,本身就是一个集合。它是无序不重复元素的集合。
什么是Set?
与数学中的集合类似,Python中的集合数据类型指的是一系列值(元素)组成的一个集体。我们所有人类是一个集合。中国人是一个集合。
数学中集合的特性:确定性:一个对象能够确定是不是属于一个集合,如很小的数无法构成一个集合,因为具有不确定性。互异性:即集合中任意两个对象都是不同的。也就是集合中不存在重复的对象。无序性:{a, b, c}与{b, c, a}是同一个集合。纯粹性:一个集合中的所有对象必须具备一个共同的属于该集合的特征。完备性:一个集合必须包含所有符合集合共同特征的对象。Python中的集合
使用大括号 {} 或者 set() 函数来创建一个集合。注意:创建一个空集合必须使用 set(),因为 {} 用来创建一个空字典。初始化一个集合必须用List、Tuple、String。
特性
互异性:不存在重复元素。无序性。
因其无序性,集合不支持下标索引以及切片来进行取值、修改值、删除值操作
定义一个集合
example = set([1, 2, 3]) # 用列表初始化集合
print(example)
# {1, 2, 3}
注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。
自动过滤重复元素
set1 = set(['apple', 'banana', 'apple', 'pear', 'orange', 'banana'])
print(set1)
# 将自动过滤重复元素
# {'apple', 'pear', 'orange', 'banana'}
Set的基本操作
基本运算
与数学中的集合操作类似,可做并集、交集等运算。
in和not in:成员运算符。判断元素与集合的包含与不包含关系。==和!=:判断等于与不等于。<:判断绝对子集关系。<=:判断非绝对子集关系。>:判断绝对超集关系。>=:判断非绝对超集关系。&:求交集。|:求并集。^:求两个集合共同元素之外的所有元素组成集合。
解释:集合a,集合b。b是a的子集,即b包含于a;如果b不等于(!=)a,则b是a的绝对子集,反过来a是b的绝对超集。
list = [1314, 520, 'my love', 'Hi', 'Python']
fir_set = set(list)
sec_set = set([520, 'Hi', 3.1415, 88])
# in and not in
print(520 in fir_set)
# IDLE中输出True
# == 判断两个集合的包含关系
print(fir_set == sec_set)
# False
# < 判断两个集合的包含关系
print({1314, 'Hi'} < fir_set)
# True
# >= 判断两个集合的包含关系
print(fir_set >= sec_set)
# False
# & 求两个集合都包含的元素
print(fir_set & sec_set)
# {520, 'Hi'}
# | 求两个集合所包含的所有元素,自动去除重复元素
print(fir_set | sec_set)
# {1314, 'Hi', 520, 3.1415, 'Python', 88, 'my love'}
# ^ 求两个集合共同元素之外的所有元素
print(fir_set ^ sec_set)
# {1314, 3.1415, 88, 'my love', 'Python'}
内置函数
add():增加新的元素,新增元素的位置随机。update(seq):用序列(String、List、Tuple)更新集合,序列中的每个元素都被添加到集合中。remove(element):删除集合中的元素。len(set):求集合中元素个数。clear():清空集合中的元素,集合变为空集合。
s = {133, '522', '你好', 568}
print(type(s)) # <class 'set'> 表示是集合类型
s.add(1000)
print(s)
# {'522', '你好', 133, 1000, 568}
s.update((12, 'Hi'))
print(s)
# {133, '你好', 1000, 'Hi', '522', 12, 568}
s.remove(568)
print(s)
# {133, 'Hi', '522', 1000, 12, '你好'}
print(len(s))
# 6
s.clear()
print(s)
# set()
纸上得来终觉浅,绝知此事要躬行。
标签: #python的set用法