python基础数据类型:set() (集合)___006

1、集合:可变数据类型,它里面的元素必须是不可变数据类型,无序,不重复。

2、集合例子:表现形式两种

set1 = set({1,2,3})
set2 = {1,2,3}
print(set1,type(set1))  # {1, 2, 3} <class 'set'>
print(set2,type(set2))  # {1, 2, 3} <class 'set'>

3、集合----增

set1 = {1,2,3}
set1.add('bug')
print(set1)  # {1, 2, 3, 'bug'}


set1.update('bug1')  # update 迭代式添加
print(set1)  # {1, 2, 3, 'g', 'u', '1', 'b'}
set1.update(['bug1','bug3'])  # 添加列表中的值
print(set1)  # {1, 2, 3, 'g', 'bug1', 'u', 'bug3', '1', 'b'}

4、集合----删除

# pop()随机删除
set1 = {1,2,3}
set1.pop()  # 随机删除
print(set1)
print(set1.pop())  # 有返回值

# remove() 按照元素删除
set1 = {1,2,3}
set1.remove(3)
print(set1)

# clear()清空集合
set1 = {1,2,3}
set1.clear()
print(set1)

# del set1 删除集合
set1 = {1,2,3}
del set1
print(set1)

5、改:不存在,原因是集合中元素是不可变数据类型

6、查:for循环查询集合

set1 = {1,2,3}
for i in set1:
    print(i)

7、集合例子:

# 取相同元素(连个集合)
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1&set2)  # {2, 3, 4}

# 取两个集合所有元素
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1|set2)  # {1, 2, 3, 4, 5, 6}

# 取不交集的部分
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1^set2) # {1, 5, 6}

# 取set1独有
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1-set2)  # {1, 5}

# set1是set2的子集
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1<set2) # False

# 列表去重(先转换成集合,最后强制转换成列表)
li = [1, 2, 33, 33, 2, 1, 4, 5, 6, 6]
li = set(li)
print(li)  # {1, 2, 33, 4, 5, 6}

li = list(li)
print(li)   # [1, 2, 33, 4, 5, 6]

# 改变集合类型为不可变
s = frozenset('barry')
print(s,type(s))  # frozenset({'b', 'r', 'y', 'a'}) <class 'frozenset'>
for i in s:
    print(i)  #  b  r y a

猜你喜欢

转载自blog.csdn.net/weixin_41253809/article/details/84324451