码迷,mamicode.com
首页 > 其他好文 > 详细

max的使用方法

时间:2018-02-07 22:57:39      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:修改   标准   数字   就是   ror   types   声明   []   trace   

元祖不可以改变;列表可变,列表用[]元祖用(),字典和列表都用{}
集合:无序
元祖:有序
列表:有序
字典:无序
数字,元祖,字符串是不可以修改的
对比下列两个程序的差异
全局变量对于可变元素可以不声明修改
name=[‘linnan‘,‘syh‘]
def change():
    name.append("mm")
change()
print(name)
********
name=‘linna‘
def change():
    // global name如不声明该变量,则会报错
    name+=‘ss‘
    print(name)
change()
print(name)
全局变量名字大写,局部变量名小写
 name = "Alex"
   
 3 def change_name():
 4     name = "Alex2"
 5  
 6     def change_name2():
 7         name = "Alex3"
 8         print("第3层打印",name)
 9  
10     change_name2() #调用内层函数
11     print("第2层打印",name)
12  
13  
14 change_name()
15 print("最外层打印",name)



例一:
name=‘alex‘

def foo():
    name=‘lhf‘
    def bar():
        print(name)
    return bar

func=foo()
func()
//打印foo的内存地址空间,函数的名字在不带小括号时表示的是函数的内存地址
//foo就是函数的内存地址
//加上小括号就是执行函数

例二:
name=‘alex‘

def foo():
    name=‘lhf‘
    def bar():
        name=‘wupeiqi‘
        def tt():
            print(name)
        return tt
    return bar

func=foo()
func()()

>>> max(1,2,‘3‘) #数值和字符串不能取最大值
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    max(1,2,‘3‘)
TypeError: unorderable types: str() > int() 
>>> max(1,2,‘3‘,key = int) # 指定key为转换函数后,可以取最大值
‘3‘

>>> max((1,2),[1,1]) #元组和列表不能取最大值
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    max((1,2),[1,1])
TypeError: unorderable types: list() > tuple()
>>> max((1,2),[1,1],key = lambda x : x[1]) #指定key为返回序列索引1位置的元素后,可以取最大值
(1, 2)
自己写的小程序
dic={‘1‘:10,
     ‘2‘:100,
     ‘4‘:30}
dics=[]
def Max(dic):
    for item in dic.values():
        dics.append(item)
Max(dic)
print(max(dics))


中级技巧:key属性的使用

max((1,2),[1,1],key = lambda x : x[1]) #指定key为返回序列索引1位置的元素后,可以取最大值
(1, 2)
max处理字典时默认是处理键的
当key参数不为空时,就以key的函数对象为判断的标准。
如果我们想找出一组数中绝对值最大的数,就可以配合lamda先进行处理,再找出最大值

a = [-9, -8, 1, 3, -4, 6]
tmp = max(a, key=lambda x: abs(x))
print(tmp)


l=[3,2,100,999,213,1111,31121,333]
print(max(l))

dic={‘k1‘:10,‘k2‘:100,‘k3‘:30}


print(max(dic))
print(dic[max(dic,key=lambda k:dic[k])])

11 高阶函数

满足俩个特性任意一个即为高阶函数

1.函数的传入参数是一个函数名

2.函数的返回值是一个函数名


dic={‘k1‘:10,
     ‘k2‘:100,
     ‘k3‘:30}

print(max(dic))
print(  max(dic,key=lambda k:dic[k])   )
print(dic[max(dic,key=lambda k:dic[k])])
k3
k2
100

  

max的使用方法

标签:修改   标准   数字   就是   ror   types   声明   []   trace   

原文地址:https://www.cnblogs.com/L-Pxiaotiancai/p/8428538.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!