3.1 synthesize tuples (1,2,3) and sets {"four",5,6} into a list
1 tuple,set,list = (1,2,3),{"four",5,6},[] 2 for i in tuple: 3 list.append(i) 4 for j in set: 5 list.append(j) 6 print(list)
3.2 set more than 5 elements to 0 and less than 5 elements to 1 in list [3,7,0,5,1,8]
1 list2 = [3,7,0,5,1,8] 2 print(list2) 3 for i in range(0,len(list2)): 4 if list2[i] >5: 5 list2[i] = 0 6 elif list2[i]<5: 7 list2[i]=1 8 print(list2)
3.3 convert the list ["mo","deng","ge"] and [1,2,3] to [("Mo", 1), (Deng, 2), (GE, 3)]
1 #Method 1: ergodic element method 2 Sl1,Nl1,new_list1=["mo","deng","ge"],[1,2,3],[] 3 for i in Sl1: 4 for j in Nl1: 5 if Sl1.index(i) == Nl1.index(j): 6 new_list1.append((i,j)) 7 print("new_list1=",new_list1) 8 9 #Method 2: ergodic subscript method 10 Sl2,Nl2,new_list2=["mo","deng","ge"],[1,2,3],[] 11 for a in range(0,len(Sl2)): 12 for b in range(0,len(Nl2)): 13 if a == b: 14 new_list2.append((Sl2[a],Nl2[b])) 15 print("new_list2=",new_list2) 16 17 #Method 3: slice combination method 18 Sl3,Nl3=["mo","deng","ge"],[1,2,3] 19 print("new_list3=",[(Sl3[0],Nl3[0]),(Sl3[1],Nl3[1]),(Sl3[2],Nl3[2])]) 20 21 #Method 4: traversal subscript opportunism 22 Sl4,Nl4,new_list4=["mo","deng","ge"],[1,2,3],[] 23 for k in range(0,3): 24 new_list4 += [(Sl4[k],Nl4[k])] 25 print("new_list4=",new_list4)
26 #Operation result: 27 """ 28 new_list1= [('mo', 1), ('deng', 2), ('ge', 3)] 29 new_list2= [('mo', 1), ('deng', 2), ('ge', 3)] 30 new_list3= [('mo', 1), ('deng', 2), ('ge', 3)] 31 new_list4= [('mo', 1), ('deng', 2), ('ge', 3)] 32 """
3.4 if a = dict(), make b = a, execute b.update({"x":1}),a also changes, why and how to avoid
Reason: a variable assigned to another variable is equivalent to the values stored in the same address referenced by the two variables
Solution: re opening the space can cancel the association between two variables (each expression will have a value, and the value referenced by the variable name depends on what is assigned to it)
1 #Method 1: copy()Function replication 2 a = {1:"mo",2:"deng"} 3 b = a.copy() 4 b.update({"x":"/"}) 5 print(a,b) 6 7 #Method 2: unpacking assignment method 8 a = {1:"mo",2:"deng"} 9 b = dict() 10 b.update(a) 11 b.update({"x":"/"}) 12 print(a,b) 13 14 #Operation result: 15 """ 16 {1: 'mo', 2: 'deng'} {1: 'mo', 2: 'deng', 'x': '/'} 17 {1: 'mo', 2: 'deng'} {1: 'mo', 2: 'deng', 'x': '/'} 18 """
3.5 convert the two-dimensional structure [['a',1],['b',2]] and (('x',3),('y',4)) into a dictionary
1 #Make a 2D structure[["a","/"],["b",2]]and(("x",3),("y",4))Convert to dictionary 2 list1,tuple1=[["a","/"],["b",2]],(("x",3),("y",4)) 3 dict1=dict(list1) 4 dict2=dict(tuple1) 5 print(dict1,dict2) 6 #Operation result: 7 """ 8 {'a': '/', 'b': 2} {'x': 3, 'y': 4} 9 """
3.6
3.7