介绍4个大神常用而你不常用的python函数

阅读大概需要3分钟

跟随小博主,每天进步一丢丢

今天总共说下四个函数:assert,map,filter,reduce

assert

俗称 断言!就是说断言一件事,如果是真,程序继续进行;如果是假,则报错。

怎么用捏?

两种用法

assert

assert ,

第一种

def avg(marks):

assertlen(marks) !=

returnsum(marks)/len(marks)

mark1 = []

print("Average of mark1:",avg(mark1))

结果为

AssertionError

第二种

def avg(marks):

assertlen(marks) !=,"List is empty."

returnsum(marks)/len(marks)

mark2 = [55,88,78,90,79]

print("Average of mark2:",avg(mark2))

mark1 = []

print("Average of mark1:",avg(mark1))

结果为

Average of mark2:78.0

AssertionError: Listisempty.

map

很多时候,我们对一个list里的数据进行同一种操作,比如:

items= [1,2,3,4,5]

squared = []

fori in items:

squared.append(i**2)

这个时候,就可以用map操作,格式为:

map(function_to_apply, list_input)

具体操作为

items= [1,2,3,4,5]

squared= list(map(lambda x: x**2, items))

当然list里可以放函数

defmultiply(x):

return(x*x)

defadd(x):

return(x+x)

funcs = [multiply, add]

foriinrange(5):

value = list(map(lambdax: x(i), funcs))

print(value)

# Output:

# [0, 0]

# [1, 2]

# [4, 4]

# [9, 6]

# [16, 8]

当然也可以进行str2id操作

a= ['5','2','3','4','5']

print(list(map(int,a)))

# [5,2,3,4,5]

filter

filter函数就是对于给定的条件进行筛选,过滤。

number_list =range(-5,5)

less_than_zero =list(filter(lambdax:x

print(less_than_zero)

# Output:[-5, -4, -3, -2, -1]

这个可以用在神经网络中是否对部分网络进行fine-tune

reduce

reduce就是累计上次的结果,用在当前操作上。比如不用reduce是这样的

product =1

list= [1,2,3,4]

fornum inlist:

product = product * num

# product = 24

用了之后

fromfunctoolsimportreduce

product = reduce((lambdax, y: x * y), [1,2,3,4])

# Output: 24

IELTS a bit

colossaladj. 巨大的;广大的;庞大的

depositn. 存款 v. 将钱存入银行

PS:如果觉得文章对您有一丢丢帮助

欢迎点赞与转发!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106G0ZCU100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券