找最大值或者最小值
# 接收n个参数. 返回最大值和最小值(字典) def func(*args): m = args[0] # 假设第0项就是最大值 mi = args[0] for el in args: if el > m: m = el # 当前这个元素比假设的那个大. 记录当前这个比较大的数 if el < mi: mi = el return {"最大值":m, "最小值":mi} print(func(5,7,12,1,46,87,3))
#利用max min 函数直接求最大值最小值 # sum可以直接求和 def func(*args): dic={} dic['max']=max(*args) #此处*为打散元组 dic['min']=min(*args) #此处*为打散元组 return dic sum=(2,5,6,8,4,1) print(func(sum))
函数默认参数是可变值时
def extendList(val, list=[]): list.append(val) return list list1 = extendList(10)# lis_a=[10] list2 = extendList(123, []) #lis_b=[123] list3 = extendList('a') #lis_a=[10,'a'] print('list1=%s' % list1) #输出lis_a print('list2=%s' % list2) #输出lis_b print('list3=%s' % list3) #输出lis_a # 默认参数是可变值时 在运行过程中会变化 所有使用过默认值的返回值都会变化 #默认参数是可变值时,如果为其赋值,则会产生一个新的变量
整合字典里的数据
# 1.判断是否在result里面存在了这个人, 如果存在. 把hobby_list添加一个hobby # 2.不存在. 创建一个新字典 #def fn(user_list): # lis1=[] # for el in user_list: # lis1.append(list(el.values())) # lis2=[] # for i in lis1: # a=list(i) # lis2.append(a[0]) # lis3=list(set(lis2)) # lis=[] # dic={'name':'','hobby_list':[]} # for i in range(len(lis3)): # dic = {'name': '', 'hobby_list': []} # dic['name']=lis3[i] # for info in lis1: # if info[0]==lis3[i]: # dic['hobby_list'].append(info[1]) # lis.append(dic) # return lis # user_list=[ # {'name':'alex','hobby':'抽烟'}, # {'name':'alex','hobby':'喝酒'}, # {'name':'wusir','hobby':'蛤蟆皮'}, # {'name':'wusir','hobby':'钓鱼'}, # {'name':'kangkang','hobby':'睡觉'} # ] # print(fn(user_list)) #自己写的一堆乱码,但能实现 user_list=[ {'name':'alex','hobby':'抽烟'}, {'name':'alex','hobby':'喝酒'}, {'name':'wusir','hobby':'蛤蟆皮'}, {'name':'wusir','hobby':'钓鱼'}, {'name':'kangkang','hobby':'睡觉'} ] result=[] for user in user_list: for new_user in result: if new_user['name']==user['name']: new_user['hobby_list'].append(user['hobby']) break else: dic={} dic['name']=user['name'] dic['hobby_list']=[user['hobby']] result.append(dic) print(result)