python3每日十题(三)

xiaoxiao2025-05-13  39

'''1 使用for循环生成一个二维列表,[[1,2,3],[4,5,6],[7,8,9]]''' #方法一: result_list = [] for i in range(1,10,3): result_list.append([i,i+1,i+2]) print(result_list) #方法二:推导列表 print([[i,i+1,i+2] for i in range(1,10,3) ]) #方法三:先生成二维列表,再在每个位置分别赋值 ##aList = [[1]*3]*3 #这种方法有问题,相当于列表引用复制,修改一个所有都影响 aList= [] for i in range(3): aList.append([1]*3) for i in range(1,10): aList[(i-1)//3][(i-1)%3]= i print(aList) '''2 将列表中[[1,2,3],[4,5,6],[7,8,9]]的所有奇数进行求和''' result = 0 a = [[1,2,3],[4,5,6],[7,8,9]] for l in a: for i in l : if i%2!=0: result +=i print(result) '''3 {1:'a',2:"b",3:'c'},将所有key的数字求和,将value的所有字符串拼接为一个字符串''' result = 0 s = '' d = {1:'a',2:"b",3:'c'} for k,v in d.items(): result +=k s +=v print('key中数字之和为:',result) print('value字符串拼接为:',s) '''4 {1:'a',2:"b",3:'c'}将key和value进行交换,生成一个新字典''' d = {1:'a',2:"b",3:'c'} #方法一: print({d[x]:x for x in d.keys()}) #方法二:items() new_dict = {} for k,v in d.items(): new_dict[v] = k print (new_dict) #方法三:setdefault() new_dict = {} for k ,v in d.items(): new_dict.setdefault(v,k) print (new_dict) '''5 把[1,2,3,4,5,6]转换为字典{1:2,3:4,5:6}''' a = [1,2,3,4,5,6] d ={} for i in range(0,len(a),2): d[a[i]] = a[i+1] print(d) '''6 生成随机的10个整数,进行求和 ''' import random result =0 for i in range(10): result +=random.randint(0,100) print(result) '''7 [1,"a",2,"b",3,"c"]请将里面的所有数字保留,去掉所有字母''' a = [1,"a",2,"b",3,"c"] #方法一:遍历 new_a =[] for i in a: if not isinstance(i,str): new_a.append(i) print(new_a) #方法二:filter print(list(filter(lambda x: not isinstance(x,str),a))) '''8 "8426"变为"4213"''' s = "8426" new_s ='' for i in s: new_s+= str(int(i)//2) print(new_s) '''9 写一个函数输入一个字符串,判断是否包含既不是数字也不是字母也不是_的字符,只要包含一个就返回false''' #方法一: def has_special_symbal(s): if not isinstance(s,str):#判断异常 return false for i in s: if not( i.isalnum() or i== '_'): return False return True #方法二:正则 def has_special_symbal_2(s): import re if not isinstance(s,str):#判断异常 return false m = re.match(r'^\w+$',s) if m and m.group() == s: return True return False print (has_special_symbal('abjdejw_12')) print (has_special_symbal(' ')) print (has_special_symbal('2*3==6?')) print (has_special_symbal_2('abjdejw_12')) print (has_special_symbal_2('it is a nice day!!')) print (has_special_symbal_2('2*3==6?')) '''10 将['a','b','M','N'],将所有小写字母变为大写字母,大写字母变为小写字母["A","B","m","n"]''' a = ['a','b','M','N'] #方法一:chr+ord b =[] for i in a: if i >='a' and i<='z': b.append(chr(ord(i)-32)) elif i >='A' and i<='Z': b.append(chr(ord(i)+32)) print(b) #方法二:lower()+upper() b =[] for i in a: if i >='a' and i<='z': b.append(i.upper()) elif i >='A' and i<='Z': b.append(i.lower()) print(b) #方法三:swapcase() print([i.swapcase() for i in a])

 

转载请注明原文地址: https://www.6miu.com/read-5030053.html

最新回复(0)