标签:
set集合: set是一个无序,不重复元素的集合。可嵌套列表,字典(可以for循环或者迭代的对象)。 ------------------------------------------------------------------------- ######差集: a={11,22} b={22,33} c=a.difference(b) #a中存在,b中不存在 d=b.difference(a) #b中存在,a中不存在 print(c) -- {11} print(d) --{33} ####增删 集合add方法:是把要传入的元素做为一个整个添加到集合中,例如: >>> a = set(‘boy‘) >>> a.add(‘python‘) >>> a set([‘y‘, ‘python‘, ‘b‘, ‘o‘]) #####集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如: >>> a = set(‘boy‘) >>> a.update(‘python‘) >>> a set([‘b‘, ‘h‘, ‘o‘, ‘n‘, ‘p‘, ‘t‘, ‘y‘]) #删除元素 #随机移除某个元素,没有会报错 b={11,22,33} ret=b.pop() print(b) print(ret) #删除一个元素,没有不会报错 d={1,2,3,4,5} d.discard(2) print(d) #接收可以被for循环(可迭代)的对象 list = [1,2,3,4,5] set1={1,2} set.update(list) print(set1) 实例: 找出两个字典变化的值 old_dict={ "#1":4, "#2":8, "#4":4, } new_dict={ "#1":8, "#2":8, "#3":4, #加逗号肯定不会报错,不加可能会有错误 } #取值,取出字典的key old_key=old_dict.keys() new_key=new_dict.keys() #将key转换成集合 old_set=set(old_key) new_set=set(new_key) #新中存在,旧的不存在,打印出需要删除的 remove=old_set.difference(new_set) print(remove) #需要更新的, update=new_set.difference(old_set) print(update) #需要添加的 add=old_set.difference(new_set)
列表:list是一种有序的集合,可以随时添加和删除其中的元素。 用一个变量存储更多的值 eg: name=[‘sz‘,‘yz‘,‘xz‘] num=[1,2,3,4,5,6,7,8,9,1,23,4,5,54,5,5] #可以通过下标查找元素,下标从0开始 >>>num[-1] #-1代表列表中最后一个元素 >>>5 >>>num[0] #第一个元素 >>>1 >>>num[-3] #取出列表倒数第三个元素 >>>54 ##如果取值的下标超过列表的总长度就会报错 ****下标是从0开始 ############### #返回的值是True或false print(3 in num) #查看列表中有几个5 print(num.count(5)) #查看一个元素在列表中的下表,找到第一个值以后,不会继续查找,直接返回第一个值的下表 print(num.index(5)) #通过len()内置函数可以查看列表的元素个数 len(num) ------------ ####切片 user=[‘zhangsan‘,‘lisi‘,‘liuwu‘,‘zhaoliu‘,‘wangqi‘,1,2,3,4] #打印出下标2到8的元素 print(user[2:8]) print(user[0:3]) #取0到第3个元素,不包含第4个,0可以不写 print(user[:-3]) #打印从0到倒数第3个元素 print(user[-3:]) #取最后三个元素 print(user[::2]) #跨步取值 ---------------------------------------------------------------- ###增删改查 增加: user=[‘zhangsan‘,‘lisi‘,‘liuwu‘,‘zhaoliu‘,1,2,1,‘wangqi‘,1,2,3,4] user.append("test") #在列表最后追加一个元素 删除: #删除为1的元素,如果有多个1,那么删除从左往右的第一个。 user.remove(user[1]) #删除一个内存中的数据,删头不删尾 del user[3:4] 更改: user[1]=‘coffee‘ #将第二个元素改为coffee user1 = [‘a‘,‘b‘,‘c‘,‘d‘] user2 = [‘e‘,‘f‘,‘g‘,‘h‘] #插入数据 user.insert(1,user1) #插入一个数据,下标为1 user.insert(3,user2) #插入一个数据,下标为3 #统计 user.count(‘1‘) #统计1元素的个数 user.sort() #将列表排序 user.reverse() #将列表反转 #遍历列表 for i in user: print(i) #实例 循环更改列表中元素的值 num = [1,2,3,4,5,3,[3,3,3],6,7,7,8,9,9,9,9,9,5,6,6,6,7] #num.count统计列表中这个元素有几个 #这里有几个,就循环几次 for i in range(num.count(9)): #这里统计每个元素的下表是几 real = num.index(9) #通过下标来更改元素的值 num[real] = ‘HHHHHHHHHHH‘ #打印 print(num) ############################ 实例: 将新列表合并到num列表里 num = [1,2,3,4,5,3] num1 = [‘zeng‘,‘xian‘] num.extend(num1) print(num)
元组
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
tuple一旦初始化,就不能更改
例如
name=(‘test‘,‘study‘)
同样可以通过下标来查询
name[0]
name[1]
如果定义只有1个元素的元组
t1 = (1)
这里就会有歧义,你定义的不是元组,是1这个数,()当成了数学中的括号,所以你在定义一个元素时,后面要加一个逗号。
t1 = (1,)
---------------
字典: 无序,使用键值对存储,具有极快的查找速度。
dict特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
list:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
标签:
原文地址:http://www.cnblogs.com/Z-style/p/5538556.html