2019.1.12 集合相关内容
Posted bcyczhhb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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])
以上是关于2019.1.12 集合相关内容的主要内容,如果未能解决你的问题,请参考以下文章