怎么用evaluate求和,Evaluate函数的用法

  怎么用evaluate求和,Evaluate函数的用法

  python的一些小功能可以提高效率。通常他们在工作中往往被忽略,代码写得非常原始粗暴;写了一段时间后,发现自己的提升很少,要纠结很久才能写出一个小剧本,和那些大的太不一样了。所以要好好检讨自己,看看可以从哪些方面提升自己的技术能力。

  今天,我们先来了解一下python的实用小函数:

  Lamda()返回一个函数表达式,类似于def,但比def轻。不用名字add _ by _ lambda=lambdax,y: x y也可以。

  printadd_by_lambda(1,1)

  甚至可以直接在后面追加参数得到返回值,比如lambdax,y:x y,1,1,返回结果是2。

  -

  defadd(x,y):

  returnx y

  printadd(1,1)

  zip()

  定义:zip([seql,])接受一系列迭代对象作为参数,将对象中对应的元素打包成元组(tuple),然后返回由这些元组组成的列表(list)。如果传入参数的长度不同,则返回列表的长度与参数中长度最短的对象相同。

  1z1=[1,2,3]

  2z2=[4,5,6]

  3result=zip(z1,z2)

  带有*运算符的Zip()可以对压缩后的列表对象进行解压缩,即把合并后的序列拆分成多个元组. 1zip (* result)。

  2[(1,2,3),(4,5,6)]

  与序列相关的内置函数有:sorted()、reversed()、enumerate()、zip()

  Sorted()和zip()返回一个序列(列表)对象

  Reversed()、enumerate()返回一个迭代器(类似于序列)

  场景:

  *二维矩阵变换(矩阵行列互换)

  a=[[1,2,3]、[4,5,6]、[7,8,9]]

  zip(*a)

  [(1,4,7),(2,5,8),(3,6,9)]

  地图(列表,zip(*a))

  [[1,4,7],[2,5,8],[3,6,9]]

  *获取数据名称=(杰克,贝京曼,索尼, PCKY )

  年龄=(2001年、2003年、2005年、2000年)

  fora,ninzip(姓名,年龄):

  纽约州普林塔市

  输出:

  杰克2001

  始于2003年

  2005年

  pcky2000

  zip的高级应用:1.zip包拆包列表和倍数

  a=[1,2,3]

  b=[a , b , c]

  z=zip(a,b)

  z

  [(1, a ),(2, b ),(3, c)]

  zip(*z)

  [(1,2,3),( a , b , c)]

  2.使用zip合并相邻的列表项

  a=[1,2,3,4,5,6]

  zip(*([iter(a)]*2))

  [(1,2),(3,4),(5,6)]

  group_adjacent=lambdaa,k:zip(*([iter(a)]*k))

  group_adjacent(a,3)

  [(1,2,3),(4,5,6)]

  group_adjacent(a,2)

  [(1,2),(3,4),(5,6)]

  group_adjacent(a,1)

  [(1,),(2,),(3,),(4,),(5,),(6,)]

  zip(a[:2],a[1:2])

  [(1,2),(3,4),(5,6)]

  zip(a[:3],a[1:3],a[2:3])

  [(1,2,3),(4,5,6)]

  group_adjacent=lambdaa,k:zip(*(a[i:k]foriinrange(k)))

  group_adjacent(a,3)

  [(1,2,3),(4,5,6)]

  group_adjacent(a,2)

  [(1,2),(3,4),(5,6)]

  group_adjacent(a,1)

  [(1,),(2,),(3,),(4,),(5,),(6,)]

  3.使用zip和迭代器生成滑动窗口(n元语法)

  fromitertoolsimportislice

  defn_grams(a,n):

  .z=(islice(a,I,None)foriinrange(n))

  .returnzip(*z)

  .

  a=[1,2,3,4,5,6]

  n_grams(a,3)

  [(1,2,3),(2,3,4),(3,4,5),(4,5,6)]

  n_grams(a,2)

  [(1,2),(2,3),(3,4),(4,5),(5,6)]

  n_grams(a,4)

  [(1,2,3,4),(2,3,4,5),(3,4,5,6)]

  4.使用zip来反转字典

  m={a:1, b:2, c:3, d:4}

  m .项目()

  [(a ,1),( c ,3),( b ,2),( d ,4)]

  zip(m.values()、m.keys())

  [(1, a ),(3, c ),(2, b ),(4, d)]

  mi=dict(zip(m.values()、m.keys()))

  大音阶的第三音

  {1:a ,2:b ,3:c ,4:d}

  过滤器()

  filter函数接受两个参数,func和list,过滤后返回一个列表,其中func函数对象只能有一个传入参数。原理是将list list中的所有元素作为参数传递给函数func,返回能使func返回true的元素列表。如果func为None,将使用默认的Python内置identity函数直接判断元素的真假。

  例如:a=[1,2,3,4,5,6,7]

  b=滤波器(x:x2,a)

  printb

  #过滤奇数集

  a=[1,2,3,4,5,6,7]

  b=滤波器(x:x % 2,a)

  printb

  地图()

  map函数是一个强大的映射函数,传入两个参数,一个是func,一个是list,作用是func作用于给定序列的每个元素,提供一个带有list的返回值。例如:a=[0,1,2,3,4,5,6,7]

  地图(lambdax:x ^ 3,a)

  a=[1,2,3]

  b=[4,5,6]

  map(lambdax,y:x y,a,b)

  [5,7,9]

  #my_map函数实现

  defmy_map(func,*args):

  return[func(arg)forarginargs]

  减少()

  减少函数传入参数为功能和列表,其遍历目录元素,并调用功能函数实现累积,具体效果便是:

  reduce(f,[x1,x2,x3,x4])=f ( f ( f ( x1,x2),x3),x4)

  使用范例如下:

  #字符串到整数

  定义字符串:

  return reduce(lambda x,y: x*10 y,map(int,s))

  妙用集锦:http://devop启动器。info/python kai-fa-zhi-MapReduce/

  #两个列表,取(x - y) (y - x)

  x=[{a: 1, b: 2},{c: 3},{d: 4}]

  y=[{a: 1},{c: 3},{e: 5}]

  过滤器(z:(x y).计数(z)2,(x y))

  #展平嵌套子列表

  #结果:[ 1,2,3,4,5 ]

  进口经营者

  reduce( operator.concat,[ [ 1,2 ],[ 3,4 ],[ ],[ 5 ] ],[ ])

  #多项式求和

  进口经营者

  def evaluate (a,x):

  xi=map( lambda i: x**i,range( 0,len(a)))

  axi=map(operator.mul,a,xi)

  return reduce( operator.add,axi,0)

  #数据库结构化查询语言

  减少(最大值,贴图(相机。像素,过滤器(

  lambda c: c.brand()==尼康,相机) ) )

  #也许等于

  选择最大值(像素)

  来自摄像机

  其中品牌="尼康"

  #那里。

  #相机是一个序列

  #哪里子句是一个筛选器

  #像素是一张地图

  #最大是一个减少

  #一行并发

  导入urllib2

  从多处理。假的导入池作为线程池

  URL=[

  http://www.python.org,

  http://www.google.com,

  http://www.baidu.com,

  http://www.python.org/community/,

  http://www.saltstack.com的

  ]

  #pool=线程池()

  池=线程池(4) #将池大小设置为四

  结果=池。地图(URL库2。URL打开,URL)

  pool.close()

  pool.join()

  int()转数字int(0 )

  str()转字符串str(2)

  下部()转小写下部(Windows)

  上部()转大写上层(Linux)

  iter()

  list.count(aaa )统计美国汽车协会在列表中出现的次数

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: