找极值和当函数默认值是可变值时

找最大值或者最小值

# 接收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)

  



原文地址:https://www.cnblogs.com/luxiangyu111/p/9325350.html