二、基础数据类型汇总
''' list ''' '''lis = [11,22,33,44,55] for i in range(len(lis)): del lis[i] '删除一个元素,剩余元素的索引自动往前进一位补上' ''' #例:删除带k的元素 dic = {'k1':'v1','k2':'v2','a3':'v3'} dic1 = {} for i in dic: if 'k' not in i: dic1.setdefault(i,dic[i]) dic = dic1 print(dic) #列表和字典里面的东西不要轻易删除,会很麻烦 #元祖 如果元祖里面只有一个元素且不加,那次元素是什么类型,就是什么类型 面试题 tu1 = (1) tu2 = (1,) print(tu1,type(tu1)) print(tu2,type(tu2))三、集合
''' 集合,可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。 {} ''' #set1 = set({1,2,3}) #print(set1) #set1 = {'alex','wusir','ritian','egon','barry'} #add #set1.add('女神') #print(set1) #update #set1.update('abc') #print(set1) #删除 #set1.pop() #随机删除 有返回值 #print(set1) #set.remove('alex') #按元素删 #print(set1) #set1.clear() #清空 结果:set()空集合 #print(set1) #del set1 #删除整个集合 #查 #for i in set1: # print(i) #可以求交集 set3 = set1 & set2 #求并集 | 或者 union #反交集 ^ #差集 结果为set1独有的 >:超集 <:子集 #面试题 去除相统元素 li = [1,2,33,33,2,1,4,5,6,6] set1 = set(li) print(set1) li = list(set1) print(li) #将set强转成不可变数据类型 可以循环 s = frozenset('berry') print(s,type(s)); for i in s: print(i)四、深浅copy
# 赋值运算 # l1 = [1,2,3] # l2 = l1 # l1.append('a') # print(l1,l2) #copy # l1 = [1,2,3] # l2 = l1.copy() # print(l1,l2) # print(id(l1),id(l2)) # l2.append('a') # print(l1,l2) # l1 = [1,2,[4,5,6],3] # l2 = l1.copy() # print(l1,id(l1)) # print(l2,id(l2)) # l1.append('a') # print(l1,l2) # l1[2].append('a') # print(l1,l2) # print(id(l1[2])) # print(id(l2[2])) import copy # l1 = [1,2,[4,5,6],3] # l2 = copy.deepcopy(l1) # print(l1,id(l1)) # print(l2,id(l2)) # l1[2].append('a') # print(l1,l2) # l1 = [1,[1],2,3,4] # l2 = l1[:] # l1[1].append('a') #l2 的结果是什么? # print(l1,id(l1)) # print(l2,id(l2)) # print(l1[1] is l2[1]) # li = ['alex','taibai','wusir','egon'] # for i in li: # print(li.index(i),i) # for index,i in enumerate(li,1): # print(index,i)