专栏首页张俊红python中的小魔法(一)

python中的小魔法(一)

总第101篇

if-else的简洁写法

#常规写法
if a>b:
    c=a
else:
    c=b

#简洁写法    
c=a if a>b else b

列表生成式

对一个列表中的每个元素执行某个操作,然后生成一个新的列表。代替掉了繁琐的for循环。

#常规做法
a=[-1,-2,1,2,3,4,5]
b=[]
for i in a:
    if i>0:
        b.append(pow(i,2))#求平方
print(b)
-----------------
[1, 4, 9, 16, 25]

#列表生成式
a=[-1,-2,1,2,3,4,5]
b=[pow(x,2) for x in a if x>0]
print(b)
-----------------
[1, 4, 9, 16, 25]

lambda匿名函数

匿名函数与标准方式声明的函数区别在于,不需要使用 def 语句,也不需要一个名字来引用它,很简洁方便。

#常规函数
def test(x):
    x=x*2
    return x
test(10)
--
20

#匿名函数
test1=lambda x:x*2
print(test1(10))
--
20

#匿名函数也可以是多参数
test1=lambda x,y:x*y
print(test1(2,10))
--
20

map函数

map(function,args),map函数是对序列args中每个元素进行function操作,得到一个结果序列。

a = map(lambda x,y:x+y,[1,2,3],[3,2,1])
for i in a:
    print(i)
--
4
4
4

#一般map函数会和list一起用,将结果转化为一个list
a =list(map(lambda x,y:x+y,[1,2,3],[3,2,1]))
print(a)
-------
[4,4,4]

#你还可以这样用
a=pd.Series([1,2,3])
a.map(lambda x:x*2)
-------
0 2
1 4
2 6

#请注意上述的lambda函数可以换成任意的函数

filter函数

filter(function,iterable),filter俗称过滤器函数,顾名思义就是按照给定的函数function从序列iterable中过滤出相应的元素。

a = filter(lambda x:x>2,[1,2,3,4])
for i in a:
    print(i)
--
3
4

#与list结合使用
a =list(filter(lambda x:x>2,[1,2,3,4])) 
print(a)
-----
[3,4]

还有applay、reduce函数现在慢慢都被淘汰了,这里就不写了。还有更多好用的函数等待挖掘,以后持续更新。

你还可以看:

IPython的一些使用技巧

本文分享自微信公众号 - 张俊红(zhangjunhong0428),作者:张俊红

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习中的损失函数

    在机器学习中,同一个数据集可能训练出多个模型即多个函数(如下图所示,同样的数据集训练出三种不同的函数),那么我们在众多函数中该选择哪个函数呢?首选肯定是那个预测...

    张俊红
  • 谈谈 Python 那些不为人知的冷知识(二)

    这是 Python 中好玩但比较冷门的知识点第二篇,一篇只分享五个,不想错过的,千万记得关注一下。

    张俊红
  • 机器学习开篇

    总第76篇 声明: 1、接下来的关于机器学习的专题内容都会借鉴李航老师的《统计学习方法》。 2、李航老师的书籍中把机器学习称为统计机器学习,我们在文章中简称为统...

    张俊红
  • 谈谈python里面那些高级函数

    谈到python,我们就不得不说python里面的一些黑魔法,例如我们的高阶函数就是黑魔法其中之一。

    我被狗咬了
  • Python判断与循环详解

      一、城市公共电汽车价格调整为:10公里(含)内2元,10公里以上部分,每增加1元可乘坐5公里。使用市政交通一卡通刷卡乘坐城市公共电汽车,市域内路段给予普通卡...

    DataScience
  • 在Tensorflow中实现leakyRelu操作详解(高效)

    我做了些改进,因为实在tensorflow中使用,就将原来的abs()函数替换成了tf.abs()

    砸漏
  • 猜数字游戏

    我已经玩了几局了,自己设置的范围是0~10,所以难度低了点,猜中好多次了哈哈~那接下来就是小伙伴自己去happy咯~~~

    佛系编程人
  • 网易内推(C++/C研发)offer之路

    看到大家都在牛客上写面经,我也来凑一下热闹,本人是一所普通高校的研究生(非211,985高校),自动化专业(非计算机)。 上个星期拿到了网易内推C++研发岗位的...

    牛客网
  • 一分钟读懂兼容报告——行业对标数据助你定位产品状况

    ? 通过兼容测试服务,用户在拿到一份数据详细的兼容测试报告后,可以直观看到产品自身的兼容性问题,如安装失败、UI异常、闪退等现象。在上一期《一分钟读懂兼容测试...

    WeTest质量开放平台团队
  • 学会这几招,轻松掌握Python文件管理

    一、Python中的文件管理 文件管理是很多应用程序的基本功能和重要组成部分。Python可以使文件管理极其简单,特别是和其它语言相对比。 以下,Peyton ...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券