Python中5个有用的函数

Python中5个有用的函数

本文主要介绍在Python中5个比较重要的函数,通过代码的实例来呈现这些函数为什么有用。这些函数写出来比较简单,但在代码结构的优化上却可以大显身手。Python有许多的函数库以及内置函数,理解这些函数并在日常编程中使用它们将会帮助我们实现有效编程。

1. Lambda函数

匿名函数是Python中一个重要的函数,在很多地方我们都会用到匿名函数,匿名函数简单来说就是声明函数,可以不用赋予函数名称。如果有一个简单的需求需要执行,使用lambda函数是极其有效的。lambda函数和函数是非常相像的,除了lambda只能返回一个表达式。

result = lambda a,b: (a+b)**2
print result(10,20) # 900

使用说明

  • lambda函数的形式为lambda arguements: expression
  • lambda函数不需要名称,声明时需要lambda关键字
  • lambda表达式返回的变量可以作为一个函数而被调用,正如result(10,20)
  • lambda表达式也可以使用在其他函数的内部

2. Map函数

map是Python的内置函数,程序员可以使用map来使得程序更加的简单。这个函数可以在不使用任何循环的情况下迭代所有指定的元素。

def add_list(self, a, b):
  return a + b

def test_add_list(self):
  output = list(map(self.add_list, [1, 2, 3], [4, 5, 6]))
  print output # [5, 7, 9]

使用说明:

  • map的使用语法map(function, iterables)
  • 可以使用不同的函数来拓展map的具体的功能

3. Filter函数

过滤函数也是Python的内置函数,当需要在一堆数据出分离出想要的数据的时候,filter函数就显得非常有用了。filter函数主要通过某种给定的条件提取或者过滤数据。

def is_positive(self, num):
  return num > 0

def test_filter(self):
  res = filter(self.is_positive, [1, -2, -1, 2, 3, 4, -3])
  print res  # [1, 2, 3, 4]

使用说明:

  • filter的使用语法filter(function, iterables)
  • filter所用函数需要返回布尔类型
  • 如果iterables中的数据在函数中为true才会被过滤出来
  • 与map函数不同,filter函数只支持一个列表用于过滤,而map支持多个列表数据

4. Zip函数

zip函数也是Python的内置函数,主要用于将数据中不同列的数据提取出来构成tuple数据。

def test_zip(self):
  user_name = ['zs', 'ls', 'ww']
  user_id = [1, 2, 3]
  user_age = [20, 21, 22]
  print zip(user_age, user_id, user_name)  # [(20, 1, 'zs'), (21, 2, 'ls'), (22, 3, 'ww')]

使用说明:

  • zip的使用语法zip(*seq)
  • zip主要可以组合两组或者多组数据构成tuple对

5. Reduce函数

reduce函数也是Python的内置函数,如果想要对给定列表中的所有元素应用相同的操作时,使用此函数。

def test_reduce(self):
  l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  # lambda形式
  print reduce(lambda a, b: a + b, l) # 55

使用说明:

  • reduce的使用语法reduce(function, iterable)

6. 小结

这里主要介绍了Python中重要的五个内置函数,主要有lambda函数、map函数、filter函数、zip函数及reduce函数,这些函数在我们日常编程过程中可以帮助我们简化我们的程序,使得代码看起来会更加的清爽,同时代码量也会随之减少。

Keep thinking, keep coding! 2021-07-25

我的公众号

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值