python 基础知识第9讲:序列之集合

1.集合

和列表非常相似
不点同

  • 1.集合当中只能存储不可变对象
  • 2.集合中存储的对象是无序的(不是按照元素的插入顺序进行保存的)
  • 3.集合中不能出现重复元素
  • 4.集合只能添加不可变对象

1.1集合的创建

  • 使用 {}来创建集合,其中重复的数据会被去除,和字典很像,但是没有key
s = {10,2,3,4,1,2,3,1,1,2,10}
print(s)
  • 集合只能添加不可变对象
s= {[1,2,3],[4,5,6]}
print(s)
#运行报错
  • 集合不能直接使用 s = {} 来创建集合,如果用此方法创建,创建出来的数据类型为字典,所以如果想要创建空的集合要用 set()函数
  • set()
  • set()可以将序列(列表,字符串等 )和字典转换成为集合
s = set([1,2,3,4,5,1,2,3,4,5])
  • 使用set()将字典转换为集合时,只会包含字典中的键(key)
s = set({'a':1,'b':2,'c':3})
  • 创建一个集合
s = {'a','b',1,2,3}
print(s,type(s))
print(s[0])

此时运行会报错,因为集合不支持通过索引的方法取值,而如果想要通过索引的方式来取值的话,可以将其转成列表再取,方法如下:

print(list(s)[0])

1.2 集合当中一些方法的使用

  • 1 in 和 Not in
    是用来检查集合当中的元素
  • 2 len()
    来获取集合当中的元素数量(集合的长度)
  • 3 add()
    向集合当中添加元素
    s.add(10)
  • 4 update()
    将一个集合当中的元素添加到当前集合中
 s2 = set('python')
 s.update(s2)
  • 5 pop()
    随机删除集合当中的一个元素
 {'o', 1, 2, 3, 'y', 10, 'a', 'b', 'n', 'h', 't', 30, 'p'}
result = s.pop()  # 返回的是删除的元素信息
print(result)
  • 6 remove()
    删除集合中指定的元素
    s.remove(1)
  • 7 clear()
    清空集合

1.3 集合的运算

s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
  • & 交集运算,也就是取2个集合中都包含的元素数据
result = s1 & s2
print(result)
# {3, 4, 5}
  • | 并集运算
result = s1 | s2
print(result)
# {1, 2, 3, 4, 5, 6, 7}
  • - 差集
result = s1 - s2
print(result)
#{1, 2}
  • ^ 亦或集
    指的是集合里面不相交的部分
result = s1 ^ s2
print(result)
# {1, 2, 6, 7}
  • <=
    检查一个集合是否是另一个集合的子集
 a = {1,2,3}
 b = {1,2,3,4,5,6}
 result = a <= b # a集合是b集合的子集      b集合是a集合的超集  结果为 True
 result = {1,2,3} < {1,2,3}
  • <
    检查一个集合是否是另一个集合的真子集
print('result = ',result,s1,s2)
  • >=
    检查一个集合是否是另一个集合的超集
  • >
    检查一个集合是否是另一个集合的真超集

猜你喜欢

转载自blog.csdn.net/scyllake/article/details/95724200