先用集合和字典的一个小例子来引入集合:
num={}
print(type(num))
num2={1,2,3,4,5}
print(type(num2))
可以看出,num={}是定义了一个空的字典,但是在没有冒号,仅仅采用逗号分隔时,num2={1,2,3,4,5}就成为了集合。
集合
python3里 {}中一堆数字,不存在冒号’:’ 即没有映射,则为集合。
下面就从几个基本的方面介绍集合:
A. 创建集合:
1. 用花括号括起来一堆元素
(集合中会自动清理重复元素)
num2={1,2,3,4,5,5,5,5,6}
print(num2)
2. 用set()工厂函数 — 可以用元组或者列表打包作为入口参数
num2=set((1,2,3,3,4)) #(1,2,3,3,4)为元组
print(num2)
B. 集合增加元素:
使用add()方法
num={1,2,3,4,5,6}
num.add(7)
print(num)
C. 集合删除元素:
使用remove()方法
num.remove(5)
print(num)
D. 集合不可使用索引访问元素
集合无序,所以不支持索引方法
E. 不可变集合 – frozen:冰冻的
用frozenset()方法
num=frozenset([1,2,3,5,4])
print(num)
num.add(6) #不可改变,因为定义的集合就是frozenset 不可变集合
F. 实践 - - 去除列表中重复元素
list1=[0,1,2,3,4,5,5,3,1]
print(list1)
不使用集合 – 方法1
temp=[]
for each in list1:
if each not in temp:
temp.append(each)
print(temp)
使用集合 – 方法2
jihe1=set(list1) #但是set得到的集合是无序的,会打乱原先列表的顺序,有风险
list2=list(jihe1)
print(list2)