2019.1.12 集合相关内容

 1 #集合:
 2 #集合对象(set)是一组无序排列的可哈希的值,包含两种类型:可变集合(set)
 3 #和不可变集合(frozenset),所以set不是可哈希的,frozenset是可哈希的,能当
 4 #字典的键
 5 #注:如果一个对象在自己的生命周期中有一哈希值(hash value)是不可改变的,
 6 #那么它就是可哈希的(hashable)的。
 7 #不可变类型是可hash #tuple str freezeset
 8 #可变类型是不可hash ##list set
 9 num={}
10 print(type(num),num)
11 num2={1,2,3,4,5}
12 print(type(num2),num2)#类型是set 是集合
13 num3={1,2,3,4,5,5,4,3,2,1}
14 print(type(num3),num3)#num3和num2的结果是一样的,因为会去重。
15 
16 #列表是中括号,元组是小括号
17 #集合(set)把不同的元素组成一起形成集合,是python基本的数据类型。
18 #集合元素(set elements):组成集合的成员
19 #集合的形式:a=set()
20 
21 #创建一个集合的办法:
22 #1.一种是直接把一堆元素用花括号括起来
23 #2.一种是使用set()工厂函数
24 #注意:集合没有自己的语法格式,只能通过集合的工厂方法set()和frozenset()创建 
25 
26 set1={1,2,3,4,5,"a","我爱你中国","c","1"}#它是无序的,所以不能索引
27 print(set1)
28 
29 a=set()
30 print(type(num),num,type(a),a)
31 
32 set2=set([5,6,8,9,4,2,3,1])
33 print(type(set2),set2)
34 #去掉列表中重复的元素
35 #
36 num1=[1,2,3,4,5,5,3,1,0]
37 temp=[]
38 for each in num1:
39     if each not in temp:
40         temp.append(each)
41 print(temp)
42 
43 num1=list(set(num1))#list将集合列表化
44 print("这次打印出来的列表也去重了",num1)#去重,是用集合的去重特点做到的。
45 
46 #访问集合中的值:
47 #1.可以使用for把集合中的数据一个个读取出来
48 #2.可以通过in 或者 not in 判断一个元素是否在集合中已经存在
49 #注意:集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用
50 #in  not in 来访问或判断集合元素。
51 #添加和移除集合中的值:
52 s=num1
53 #s.add()是把要传入的元素做为一个整体添加到集合中。
54 #s.update()是把要传入的元素,做为个体传入到集合中。
55 #s.remove()
56 #注意:只有可变集合才能更新
57 
58 #不可变集合(frozenset)
59 #frozen:冰冻的,冻结的
60 num4=frozenset([1,2,3,4,5,6,7])

猜你喜欢

转载自www.cnblogs.com/bcyczhhb/p/10261072.html
今日推荐