博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python的部分内置函数
阅读量:6944 次
发布时间:2019-06-27

本文共 1840 字,大约阅读时间需要 6 分钟。

内置函数思维导图:

内置函数

匿名函数

  匿名函数统一的名字是:<lambda>

  使用场景: 配合着sorted, map, filter 一起使用

 

fn = lambda a, b : a + b # 定义一个很简单的函数. 复杂的函数不要用lambdaret = fn(3, 5)print(ret)print(fn)

 

sorted  排序函数. 让你自己去定义排序的规则

执行流程:

把可迭代对象中的每一项拿出来, 作为参数传递给后面key函数.

函数返回数字. 根据数字进行排序

 

lst = [11,5,36,1,27,58]s = sorted(lst) # 默认从小到大排序.print(s)lst1 = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"]def func(s):    return len(s) # 返回长度s = sorted(lst, key=func)print(s)#使用匿名函数配合sorted使用#print(sorted(lst, key=lambda s:len(s) ))

 

 

 

filter  过滤

把可迭代对象打开. 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留

 

lst = ["张无忌", "张翠山", "范冰冰", "金毛狮王", "李冰冰"]# 过滤掉姓张的人f = filter(lambda name : not name.startswith("张"), lst)print("__iter__" in dir(f)) # 可迭代对象for el in f:    print(el)lst = [    {
"name":"alex", "shengao":150, "tizhong":250}, {
"name":"wusir", "shengao":158, "tizhong":150}, {
"name":"taibai", "shengao":177, "tizhong":130}, {
"name":"ritian", "shengao":165, "tizhong":130}, {
"name":"nvshen", "shengao":160, "tizhong":120}, {
"name":"baolang", "shengao":183, "tizhong":190}]# 过滤掉体重大于180的人 想要的是 小于180f = filter(lambda d : d['tizhong'] <= 180, lst)print(list(f))

 

 

map  映射函数

lst = ["篮球球", "打打台球", "唱歌", "爬慌山", "步"]m = map(lambda s: "爱好:"+s , lst)print(list(m))lst = [1,5,78,12,16] # 计算每个数字的平方print([i **2 for i in lst])m = map(lambda i: i ** 2, lst)print(list(m))

eval 是把字符串类型的数据作为代码进行执行

s = "18+2"ret = eval(s) # 执行字符串类型的代码print(ret)s = "{'name':'alex', 'age':18, 'isMan':False}" # 字符串ret = eval(s)  # 侧重的有返回值print(ret)print(type(ret))
exec execute 执行字符串类型的代码, 不能太长. 不能太乱

 

code = input("请输入你要执行的代码")exec(code) # 没有返回值. 想要返回值用evalprint(a)   # pycharm报错不一定准

 

compile 编译: 把你要执行的代码先预编译. 通过exec和eval可以执行我们的代码
code = '''for i in range(10):    if i % 2 == 0:        print(i)'''c = compile(code, "", "exec") # 预加载代码exec(c) # 运行代码

 

 

 

转载于:https://www.cnblogs.com/fu-1111/p/10110684.html

你可能感兴趣的文章
hdu 2177 取(2堆)石子游戏(威佐夫博奕)
查看>>
AndroidPn服务端部分bug解决方案
查看>>
LeetCode – Refresh – LRU
查看>>
[leetcode] Subsets II
查看>>
linux nginx搭配https
查看>>
spring boot jpa 使用update 报错解决办法
查看>>
解决微信浏览器video全屏的问题
查看>>
P3373 【模板】线段树 2
查看>>
初涉MySQL
查看>>
创建外部用户_外部表
查看>>
[Django学习] Django基础(7)_分类统计
查看>>
第四次作业测试代码+018+李滨
查看>>
PMBOK学习笔记一
查看>>
Python 3.5 socket OSError: [Errno 101] Network is unreachable
查看>>
前后端分离?
查看>>
elasticsearch接口开发(新)
查看>>
Django&Admin站点&调整站点信息
查看>>
POJ2125 Destroying The Graph
查看>>
观察者模式
查看>>
react router browserhistory 关于 Nginx配置
查看>>