python 5.7

一、基础数据类型补充

#数据类型的补充 
#元祖tuple,如果里面还有一个元素且没有逗号,该数据类型为唯一元素的类型。
# tu = ([1,2,3]) #tu里面只有一个列表,没有逗号。数据类型为list.
# print(tu,type(tu))
# tu = ([1,2,3],) #里面虽然只有一个元素,但是后面有逗号。还是元祖类型。
# print(tu,type(tu))
#for 循环中,最好不要循环删除列表或字典中的元素,改变了列表和字典的大小。会出错。
#解决办法,列表,反向循环,这样不会改变列表的大小。
# li = ['liujj','xiaol','jisp'] # for i in range(len(li)-1,-1,-1): #range顾头不顾腚,所以尾为0-1=-1,len()比索引多1,所以len()-1,当len()作为尾的时候,
# if i % 2 == 1: #如果从0开始循环,len()不需要-1。
# li.pop(i)
# print(li)
#解决办法,字典,先把要删除的键放到一个列表中,再循环列表然后删除字典。
# dic = {'k1':'v1','k2':'v2','k3':'v3','name':'alex'}
# lis = [] # for i in dic:
# if 'k' in i:
# lis.append(i)
# for m in lis:
# dic.pop(m)
# print(dic)
#tuple-->list list(tu) tuple(list)
#dic -->list list(dic):所有的键---> list(dic.keys())
# 所有的值--->list(dic.values())
# 所有的键值对(列表中是一对一对的元祖)--->list(dic.items())
#set-->list list(set())
#dict.fromkeys(拆分之前的元素,每个元素对应的唯一的值)
# dic = dict.fromkeys('abc',66)
# print(dic)
#False: 0 , '' , [] , {} , ()

二、 集合
#集合的增
#1.add
# set = {'liujj','jiasp','jiaxl'}
# set.add('cat')
# print(set)
#2.update    先拆分后添加
# set.update('abcde')
# print(set)
#集合的删
# 1.remove 按照元素删除
# set.remove('jiaxl')
# print(set)
#2.pop 随机删除,返回值为删除的元素。
# print(set.pop())
# print(set)
#3.del
#4.clear  清空列表:set()
#集合的查
#只有for一种
集合的增删查
 

三、集合的关系

#集合的交集:&   intersection
#集合的并集:|   union
#集合的差集:-   difference
#集合的反交集:^  symmetric_difference
#集合的子集: <  返回值为真或假。 issubset
#集合的超集: >    issuperset
交并差反交子集超集

四、深浅copy

# 深浅copy
#1.赋值。一个变另一个也跟着变,必须要先赋值,小数据池的话本身就是同一内存地址所以不需要再赋值。
# li = [1 , 2 , 3]
# li2 = li
# li.append(99)        #set2跟着set1变化
# print(li,li2)
#2.浅copy。 第一层是独立的,第二层及以上是同一个内存地址,是跟着变化的。
# li1 = [1 , 2 , 3 , ['liujj','jiasp'] ]
# li2 = li1.copy()
# li1[3].append('jiaxl')              #第二层增加,所以li2中的第二层也跟着增加
# print(li1,li2)
# li1.append(4)
# print(li1,li2)
#3.深copy,import copy / copy.deepcopy(表名).   #不管第几层都是完全独立的。
# import copy
# li2 = copy.deepcopy(li1)
# li1.append(77)
# print(li1,li2)
# li1[3].append('xial')
# print(li1,li2)
#4.列表的切片也是属于----->浅copy.
# li2 = li1[:]
# li1.append(55)
# print(li1,li2)
# li1[3].append('lang')
# print(li1,li2)
深浅copy

猜你喜欢

转载自www.cnblogs.com/liujjpeipei/p/9003645.html