查看所有Python相关学习笔记
集合(set)
集合是随机的,其元素是不重复的
自动去重
set0 = {1,2,3,4}
set1 = set([1,2,3,4])
set2 = set((1,2,3,4,1,2,3))
set3 = set('ddddsssdddaaddd')
print(set1)
print(set2)
print(set3)
# 执行结果
{1,2,3,4}
{1, 2, 3, 4}
{1, 2, 3, 4}
{'a', 'd', 's'}
对列表去重
先将列表转化为集合,再将集合转化为列表
转化后的列表是无序的
num1 = [1,2,3,5,3,2,1]
print(f'去重前:{num1}')
num1 = list(set(num1))
print(f'去重后:{num1}')
# 执行结果
去重前:[1, 2, 3, 5, 3, 2, 1]
去重后:[1, 2, 3, 5]
使用in和not in判断元素是否存在
num1 = set([1,2,3,5,3,2,1])
print(f'原集合:{num1}')
print(1 in num1)
# 执行结果
原集合:{1, 2, 3, 5}
True
使用for循环访问集合的值
num1 = set([1,2,3,5,3,2,1])
print(f'原集合:{num1}')
for i in num1:
print(i)
# 执行结果
原集合:{1, 2, 3, 5}
1
2
3
5
使用add新增元素
num1 = set([1,2,3,5,3,2,1])
print(f'原集合:{num1}')
num1.add(7)
print(f'add后的集合:{num1}')
# 执行结果
原集合:{1, 2, 3, 5}
add后的集合:{1, 2, 3, 5, 7}
使用remove删除元素
num1 = set([1,2,3,5,3,2,1])
print(f'原集合:{num1}')
num1.remove(1)
print(f'remove后的集合:{num1}')
# 执行结果
原集合:{1, 2, 3, 5}
remove后的集合:{2, 3, 5}
定义一个冻结集合frozenset(不可变集合)
num1 = frozenset([1,2,3,5,3,2,1])
print(f'原集合:{num1}')
# 执行结果
原集合:frozenset({1, 2, 3, 5})
- 尝试改变集合
num1 = frozenset([1,2,3,5,3,2,1])
print(f'原集合:{num1}')
num1.remove(1)
print(f'remove后的集合:{num1}')
# 执行结果
AttributeError: 'frozenset' object has no attribute 'remove'
网友评论