问题: 想排序类型相同的对象,但是他们不支持原生的比较操作. answer: 内置的sorted()函数有一个关键字参数key,可传入一个callable对象给它 这个callabel对象对每个传入的对象返回一个值,这个值被sorted()用来排序这些对象 eg: 1.lambda 函数 有一个User 实例序列,希望通过他们的user id 属性进行排序,可提供一个以User 实例作为输入并输出对应user id 值的callable 对象 class User: def __init__(s…
一. lamda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表示的是匿名函数. 不需要用def来声明, 一句话就可以声明出一个函数 语法: 函数名 = lambda 参数: 返回值 注意: 1. 函数的参数可以有多个. 多个参数之间用逗号隔开 2. 匿名函数不管多复杂. 只能写一行, 且逻辑结束后直接返回数据 3…
今天看到一段代码,其中函数入参有一个参数为list,类似如下: def linux_monitor(pid=0,pidlist = []): pidlist.append(pid) 通过测试发现是有问题的,在其中加入print和调用即可发现(使用默认参数值调用俩次): def linux_monitor(pid=0,pidlist = []): pidlist.append(pid) print(pid) print(pidlist) linux_monitor() linux_monitor(…
slice(int,int) 切片,可以为切片命名增加可读性. 例子: sorted(iterable, key) 排序,支持传入参数,例如通过itemgetter传入参数(itemgetter可以传入多个key). 例子: 利用attrgetter可以比较不支持原生比较的,比如类. sum(iterable) 求和. 例子: split(regular expression, str) string 对象的 split() 方法只适应于非常简单的字符串分割情形,复杂的可以使用 re.split…
Python中函数是一个对象, 和整数,字符串等对象有很多相似之处,例如可以作为其他函数的参数或返回对象, Python中的函数还可以携带自由变量, 两者无疑极大增进了Python的表达力. 但是Python函数自由变量的内部机制和列表解析或for循环结合使用时却暗藏杀机: #---CASE 1 fs = map(lambda i:(lambda j: i*j),range(6)) print([f(2) for f in fs]) #---CASE 2 fs = [lambda j:i*j f…
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法vars() #vars() #说明:返回对象object的属性和属性值的字典对象 ''' vars(...) vars([object]) -> dictionary dictionary:字典对象 Without arguments, equivalent to locals(). With an argument, equivalent to object.__dict__.…
# 使用attrgetter函数对对象排序 # attrgetter处理对象,itemgetter处理序列 from operator import attrgetter class user(): def __init__(self, name, age): self.name = name self.age = age def __repr__(self): '''定义该对象需要输出时的字符串格式''' return self.name + ":" + str(self.age)…
VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了! 北京时间 2019 年 10 月 9 日,微软发布了全新的 VS Code Python 插件,带来了众多更新!其中,最大的更新就要属万众期待的 Jupyter Notebook 原生支持了! 我们来看看这次 Jupyter Notebook 的原生支持带来了哪些好用的功能吧! 创建 Jupyter Notebook 当安装好 Python 插件最新版后,使用快捷键 Ctrl+Shift+P 调出 Co…
Python中排序常用到的sort .sorted和argsort函数 [摘要:Python中sort 战 sorted函数 一 .先容 sort函数是list列表中的函数,而 sorted能够对list或iterator举行排序 2.sort战sorted的比拟 1.用sort函数对列表排序时会影响列表自身,而sorted没有会 举例]   Python中sort 和 sorted函数    一.介绍 sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序…
1.sort() list类型有一个自带的排序函数sort() list.sort(cmp=None, key=None, reverse=False) 参数说明: (1)  cmp参数 cmp接受一个函数,来确定比较方式,默认的是: def f(a,b): return a-b 返回负数就是a<b.(升序) 所以我们如果要想按降序排序,可以这么定义cmp: list.sort(cmp=lambda x,y:y-x) python3里面取消了这个参数. (2)  key参数  key也是接受一个…