Python基础复习04_集合

集合

1. 创建集合

·创建集合使用{}或者set(),但是如果要创建空集合则只能使用set(),因为{}是用来创建空字典的。

·特点:

集合可以去掉重复数据;   
集合是无序的,故不支持下标;   
# 集合

# 创建集合---使用{}
s1 = {
     10,20,30,40,50}  # 没有重复数据
s2 = {
     10,20,30,30,40,40,40,50}  # 有重复数据
print(s1,s2,sep='\n')

# 创建集合——使用set()
s3 = set('kamenriderdecade')
s4 = set([10,20,30,40])
print(s3,s4,sep='\n')

# 创建空集合
s5 = set()  # 只能使用set()创建空集合
print(type(s5))
s6 = {
     }  # 使用{}只能创建空字典
print(type(s6))
{40, 10, 50, 20, 30}
{40, 10, 50, 20, 30}
{'k', 'e', 'm', 'a', 'n', 'r', 'i', 'c', 'd'}
{40, 10, 20, 30}


2. 集合常用方法

2.1 增加数据

2.1.1 add()

·因为集合的元素是唯一的,所以如果向集合追加已有数据,则不进行任何操作

s1 = {
     10,20}
s1.add(100) # 追加没有的元素
print(s1)
s1.add(10)  # 追加已有数据,不执行操作
print(s1)
{100, 10, 20}
{100, 10, 20}
2.1.2 update():追加的数据为序列
s1 = {
     10,20}

# 追加序列
s1.update([100,200])
s1.update('abcdd')
print(s1)

# 追加单独数据,会报错
s1.update(112)
{100, 'b', 200, 10, 'a', 20, 'c', 'd'}



---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

 in 
      7 
      8 # 追加单独数据,会报错
----> 9 s1.update(112)


TypeError: 'int' object is not iterable

2.2 删除数据

2.2.1 remove():删除集合中的指定数据,如果数据不存在则报错
s1 = {
     10,20}

# 删除数据
s1.remove(10)
print(s1)

# 删除不存在数据,会报错
s1.remove(100)
{20}



---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

 in 
      6 
      7 # 删除不存在数据,会报错
----> 8 s1.remove(100)


KeyError: 100
2.2.2 discard():删除集合中的指定数据,数据不存在不会报错
s1 = {
     10,20}

# 删除数据
s1.discard(10)
print(s1)

# 删除不存在数据
s1.discard(100)
print(s1)
{20}
{20}
2.2.3 pop():随即删除集合中某个数据,并返回这个数据
s1 = {
     10,20,30,40,50}

# pop()
del_num = s1.pop()
print(del_num)
print(s1)
40
{10, 50, 20, 30}

2.3 查找数据

·in:判断数据在集合序列
·not in: 判断数据不在集合序列

s1 = {
     10,20,30,40,50}

print(10 in s1)
print(10 not in s1)
True
False

你可能感兴趣的:(Python)