大题解析
1 ''' 2 # 在python3版本中,s1='老男孩',如何将s1转化成utf-8的bytes类型?/ 3 # 转化成功后,得到s2,如何将s2转化成gbk的bytes类型。 4 s1='老男孩' 5 s2=s1.encode('utf-8') 6 print(s2) 7 s3=s2.decode('utf-8') 8 print(s3) 9 s4=s3.encode('gbk') 10 print(s4) 11 12 # l=[1,1,2,2,3,4,5,5,6,6,7,8]去重,并还原成列表格式 13 l=[1,1,2,2,3,4,5,5,6,6,7,8] 14 l1=set(l) 15 l=list(l1) 16 print(l) 17 18 # '1,2,3'如何变成['1','2','3']?如何变成[1,2,3]? 19 s1='1,2,3' 20 s1=s1.split(',') 21 print(s1) 22 for i in range(len(s1)): 23 s1[i]=int(s1[i]) 24 print(s1) 25 26 # 1、将字符串"k: 1|k1:2|k2:3|k3 :4"处理成字典{'k':1,'k1:2'....} 27 s1="k: 1|k1:2|k2:3|k3 :4" 28 s1=s1.split('|') 29 dic={} 30 for i in range(len(s1)): 31 [k,v]=s1[i].split(':') 32 dic[k.strip()]=int(v.strip()) 33 print(dic) 34 35 # 2、实现一个整数加法计算器: 36 # 如:content=input('请输入内容:') #如用户输入:5+7+8...(最少输入两个数相加), 37 # 将最后的结果添加到此字典中(替换None): 38 # dic={'最终计算结果':None} 39 dic={'最终计算结果':None} 40 content=input('请输入内容:').strip() 41 lst=content.split("+") 42 sum=0 43 for el in lst: 44 sum=sum+int(el.strip()) 45 print(sum) 46 dic['最终计算结果']=sum 47 print(dic) 48 49 # 3、写函数,函数可接受多个字符串类型的参数。此函数的功能是将所有的参数以'_'的形式 50 # 隔开,然后追加到一个文件中。 51 def main(file_name,*args): 52 s="_".join(args) 53 f=open(file_name,mode='a',encoding='utf-8') 54 f.write(s) 55 f.flush() 56 f.close() 57 58 # 4、写函数完成以下功能: 59 # 给函数传入一个列表(此列表里面的元素必须全是str类型),将列表中的每个元素按照顺序依次加上他们的索引,形成新的 60 # 元素,并添加到一个新列表,将列表返回 61 def func(lst): 62 new_lst=[] 63 for i in range(len(lst)): 64 new_lst.append(lst[i]+str(i)) 65 return(new_lst) 66 ll=['alex','太白'] 67 print(func(ll)) 68 69 # 5、有文件t1.txt里面的内容为:(6分) 70 # 1,alex,22,13651054608,IT 71 # 2,wusir,23,13304320533,Tearcher 72 # 3,taibai,18,1333235322,IT 73 # 利用文件操作,将其构造成如下数据类型: 74 # [{'id':'1','name':'alex','age':'22','phone':'13651054608',' 'job':'IT'},......] 75 result=[] 76 with open("t1.txt",encoding="utf-8") as f: 77 # 读取每一行数据 78 for line in f: 79 dic={} 80 lst=line.split(",") 81 dic['id']=lst[0].strip() 82 dic['name']=lst[1].strip() 83 dic['age']=lst[2].strip() 84 dic['phone']=lst[3].strip() 85 dic['job']=lst[4].strip() 86 result.append(dic) 87 print(result) 88 89 # 6、有如下值li=[11,22,33,44,55,77,88,99,90],将所有大于66的值保存至字典的第一个key中, 90 # 将小于66的值保存至第二个key中。 91 li=[11,22,33,44,55,77,88,99,90] 92 result={} 93 for row in li: 94 if row > 66: 95 result.setdefault('k1',[]).append(row) #注意setdefault的用途 96 else: 97 result.setdefault('k2',[]).append(row) 98 print(result) 99 ''' 100 # 7、写函数,完成以下功能: 101 # 例如有: 102 # user_list=[ 103 # {"name":"alex","hobby":"抽烟"}, 104 # {"name":"alex","hobby":"喝酒"}, 105 # {"name":"alex","hobby":"烫头"}, 106 # {"name":"wusir","hobby":"喊麦"}, 107 # {"name":"wusir","hobby":"街舞"}, 108 # ] 109 # 编写函数处理user_list,并返回如下结果: 110 # [{"name":"alex","hobby_list":["抽烟","喝酒","烫头",]}, 111 # {"name":"wusir","hobby_list":["喊麦","街舞"]},] 112 def main(user_list): 113 new_list=[] 114 old_dic={} 115 for el in user_list: 116 k,v=el.values() 117 old_dic.setdefault(k,[]).append(v) 118 for k,v in old_dic.items(): 119 new_dic={} 120 new_dic['name']=k 121 new_dic['hobby_list']=v 122 new_list.append(new_dic) 123 print(new_list) 124 125 user_list=[ 126 {"name":"alex","hobby":"抽烟"}, 127 {"name":"alex","hobby":"喝酒"}, 128 {"name":"alex","hobby":"烫头"}, 129 {"name":"wusir","hobby":"喊麦"}, 130 {"name":"wusir","hobby":"街舞"}, 131 ] 132 main(user_list)