1.lambda 匿名函数

  lambda 参数: 返回值

  

  函数名统一都叫lambda.

2.sorted() 排序函数

  排序函数

  sorted(iterable,key,reverse)

  key:排序规则.

  运行流程:可迭代对象中的每一个元素都交给后面key函数来执行.

    得到一个数字(权重).通过这个数字进行排序

3.filter()过滤函数

  filter(function,iterable)

  把可迭代对象中的每一个元素交给前面的函数进行筛选.函数返回True或者False

4.map()映射函数

  map(function, iterable)

  把可迭代对象中的数据交给前面的函数进行执行,返回值就是map的处理结果

5.递归

  函数自己调用自己

  最大深度:1000. ps:到不了1000就停了

  

a = 1
def func():
global a
a += 1
print(a)
func()
func()

6.二分法

  核心掐头去尾取中间. 一次砍一半

  两种算法: 常规算法,递归算法

  lst = [22,33,44,55,66,77,88,99,101,238,345,456,567,6789,789]

def func(n, left, right):
if left <= right: # 边界
print('进行一次二分法')
mid = (left + right) // 2
if n > lst[mid]:
left = mid + 1
return func(n, left, right)
elif n < lst[mid]:
right = mid - 1
return func(n, left, right)
elif n == lst[mid]:
print("找到了")
return mid
# return 通过 return返回. 终止递归
else:
print("没有这个数") # 递归出口
return -1
ret = func(789,0,len(lst) - 1)
print(ret)

1,用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
    name=[‘oldboy’,'alex','wusir']

2,用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
    l=[{'name':'alex'},{'name':'y'}]

3,用filter来处理,得到股票价格大于20的股票名字

shares={
   'IBM':36.6,
   'Lenovo':23.2,
    'oldboy':21.2,
    'ocean':10.2,
    }

7,有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。

结果:list一下[9110.0, 27161.0,......]

portfolio = [

{'name': 'IBM', 'shares': 100, 'price': 91.1},

{'name': 'AAPL', 'shares': 50, 'price': 543.22},

{'name': 'FB', 'shares': 200, 'price': 21.09},

{'name': 'HPQ', 'shares': 35, 'price': 31.75},

{'name': 'YHOO', 'shares': 45, 'price': 16.35},

{'name': 'ACME', 'shares': 75, 'price': 115.65}]

8,还是上面的字典,用filter过滤出单价大于100的股票。

9,有下列三种数据类型,
        l1 = [1,2,3,4,5,6]
        l2 = ['oldboy','alex','wusir','太白','日天']
        tu = ('**','***','****','*******')
写代码,最终得到的是(每个元祖第一个元素>2,第三个*至少是4个。)
        [(3, 'wusir', '****'), (4, '太白', '*******')]这样的数据。   
 
 
 
10,有如下数据类型:
        l1 = [ {'sales_volumn': 0},
               {'sales_volumn': 108},
               {'sales_volumn': 337},
               {'sales_volumn': 475},
               {'sales_volumn': 396},
               {'sales_volumn': 172},
               {'sales_volumn': 9},
               {'sales_volumn': 58},
               {'sales_volumn': 272},
               {'sales_volumn': 456},
               {'sales_volumn': 440},
               {'sales_volumn': 239}]

将l1按照列表中的每个字典的values大小进行排序,形成一个新的列表。


# 1.
name=['oldboy','alex','wusir']
ret = map(lambda i:i+"_sb",name)
print(list(ret)) # 2.
l = [{'name':'alex'},{'name':'y'}]
ret = map(lambda i:i['name']+'sb',l)
print(list(ret)) # 3.
shares={
'IBM':36.6,
'Lenovo':23.2,
'oldboy':21.2,
'ocean':10.2,
}
ret = filter(lambda i:shares[i]>20,shares)
print(list(ret)) # 4.
portfolio = [
{'name': 'IBM', 'shares': 100, 'price': 91.1},
{'name': 'AAPL', 'shares': 50, 'price': 543.22},
{'name': 'FB', 'shares': 200, 'price': 21.09},
{'name': 'HPQ', 'shares': 35, 'price': 31.75},
{'name': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}] ret = map(lambda i:i['shares']*i['price'],portfolio)
print(list(ret)) # 5.
ret = filter(lambda i:i['price'] > 100,portfolio)
print(list(ret)) # 6.
l1 = [1,2,3,4,5,6]
l2 = ['oldboy','alex','wusir','太白','日天']
tu = ('**','***','****','*******')
ret = filter(lambda i:i[0]> 2 and len(i[2])>=4 ,zip(l1,l2,tu))
print(list(ret)) #
l1 = [ {'sales_volumn': 0},
{'sales_volumn': 108},
{'sales_volumn': 337},
{'sales_volumn': 475},
{'sales_volumn': 396},
{'sales_volumn': 172},
{'sales_volumn': 9},
{'sales_volumn': 58},
{'sales_volumn': 272},
{'sales_volumn': 456},
{'sales_volumn': 440},
{'sales_volumn': 239}]
def func(dic):
i =dic['sales_volumn']
return i
a = sorted(l1,key=func)
print(a) b = sorted(l1,key=lambda i:i['sales_volumn'])
print(b)

python 高阶内置函数的更多相关文章

  1. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

  2. python常用的内置函数哈哈

    python常用的内置函数集合做一个归类用的时候可以查找 abs 返回数字x的绝对值或者x的摸 all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为true,就 ...

  3. python常用的内置函数

    python常用的内置函数集合做一个归类用的时候可以查找- abs 返回数字x的绝对值或者x的摸 - all (iterable)对于可迭代的对象iterable中所有元素x都有bool(x)为tru ...

  4. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  5. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  6. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  7. python 常见的内置函数

    内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...

  8. python之路——内置函数和匿名函数

    阅读目录 楔子 内置函数 匿名函数 本章小结 楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们 ...

  9. 百万年薪python之路 -- 内置函数

    内置对象(68个)第一部分 内置函数一共68个 一些可以重要性不高的内置函数,只需了解即可 all() any() bytes() callable() chr() ord() complex() d ...

随机推荐

  1. Java进阶1. Synchronized 关键字

    Java进阶1. Synchronized 关键字 20131025 1.关于synchronized的简介: Synchronized 关键字代表对这个方法加锁,相当于不管那一个线程,运行到这个方法 ...

  2. CF 916

    题解: 首先看题目 A题看不懂... 花了5分钟才做出来 还wa了 B题 一看好像是堆+位运算? 然后A了样例 C题 wa了好激发 似乎加边加错了 然后看D,似乎是可持久化平衡树? 我又不会... E ...

  3. Marketing™Series用户手册(Marketing™Series Manual)

    起源(Origin) 每日构建(Daily Build) 软件不支持的功能(Functions which are not supported.) 软件支持的功能(Functions which ar ...

  4. UML_04_时序图

    一.前言 时序图建模工具,推荐一个工具 https://www.zenuml.com/ 时序图是一种强调消息时序的交互图,他由对象(Object).消息(Message).生命线(Lifeline) ...

  5. Flask-WTF表单

    Web表单 Web 表单是 Web 应用程序的基本功能. 它是HTML页面中负责数据采集的部件.表单有三个部分组成:表单标签.表单域.表单按钮.表单允许用户输入数据,负责HTML页面数据采集,通过表单 ...

  6. C#项目中怎样创建和使用类和类库

    创建一个类库项目在“文件”菜单上,选择“新建项目”. 在“新建项目”对话框的“模板”窗格中,单击“类库”. 在“名称”框中键入 Persons,再单击“确定”. 把“添加新解决方案”勾选掉,选择“添入 ...

  7. React-Native进阶_5.导航 Naviagtion

    有这样一个组件 他可以控制页面跳转 返回,在移动端叫做导航控制器, 在RN中叫路由 我们使用的  react-native-navigation 是一个开源组件库介绍:A complete nativ ...

  8. Vim技能修炼教程(16) - 浮点数计算函数

    浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效. 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函 ...

  9. 5天突击GRE(155+170+4.0)

    个人认为最靠谱GRE经验,没有之一 虽然分数并不高(V 155 + Q 170 + AW 4.0),但是自认为有很多很多可以拿来给短期突击同学的宝贵经验. 首先是自己的背景,交大英语教改实验班(交大同 ...

  10. 更换pip源,解决pip install安装包慢的问题

    而pip是很强大的Python包安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以最好是将使用的pip源更换一下,这样就能解决被墙导致的装不上库的问题.网上有很多可用的源,例如豆瓣:http ...