python 函数

doc

image.png

list(map(fact,range(11)))

根据长度排序

fruits = ['strawberry', 'fig', 'apple', 'cherry', 'raspberry', 'banana'] sorted(fruits, key=len) ['fig', 'apple', 'cherry', 'banana', 'raspberry', 'strawberry']

函数编程与列表推导

list(map(fact, range(6))) ➊ [1, 1, 2, 6, 24, 120] [fact(n) for n in range(6)] ➋ [1, 1, 2, 6, 24, 120] list(map(factorial, filter(lambda n: n % 2, range(6)))) ➌ [1, 6, 120] [factorial(n) for n in range(6) if n % 2] ➍ [1, 6, 120]

reduce

from functools import reduce ➊ from operator import add ➋ reduce(add, range(100)) ➌ 4950 sum(range(100)) ➍ 4950

filter,map,reduce,all,any

查看函数的相关信息

结果

None <code object tag at 0x000001902D2EA1E0, file "D:/file/python/today/today.py", line 1> ('name', 'cls', 'content', 'attrs') 1

def tag(name, *content, cls=None, **attrs): """生成一个或多个HTML标签""" if cls is not None: attrs['class'] = cls if attrs: attr_str = ''.join(' %s="%s"' % (attr, value) for attr, value in sorted(attrs.items())) else: attr_str = '' if content: return '\n'.join('<%s%s>%s</%s>' % (name, attr_str, c, name) for c in content) else: return '<%s%s />' % (name, attr_str)

print(tag.defaults) print(tag.code) print(tag.code.co_varnames) print(tag.code.co_argcount)

functools,operator

from functools import reduce from operator import mul def fact(n): return reduce(mul, range(1, n+1))

itemgetter排序

image.png

attrgetter提取属性

from operator import attrgetter name_lat = attrgetter('name', 'coord.lat') # ➎ for city in sorted(metro_areas, key=attrgetter('coord.lat')): # ➏ ... print(name_lat(city))

methodcaller

from operator import methodcaller s = 'The time has come' upcase = methodcaller('upper') upcase(s) 'THE TIME HAS COME' hiphenate = methodcaller('replace', ' ', '-') hiphenate(s) 'The-time-has-come'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券