0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python是机器学习的主流语言,你真的掌握了Python吗?

zhKF_jqr_AI 来源:未知 作者:李倩 2018-08-17 09:21 次阅读

编者按:Python机器学习的主流语言,没有之一。今年5月,它首次在PYPL排行榜上超越JAVA,成为全球第一大编程语言。而一个月后,Stack Overflow也分享了最新的编程语言浏览量统计数字,结果显示,Python的月活历史性地超越了Java和JavaScript,真正问鼎榜首。

“人生苦短,我选Python”。那么,你真的掌握了Python吗?

1. 交换变量

有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如:

# 输入

a = 5

b = 10

#创建临时变量

temp = a

a = b

b = temp

print(a)

print(b)

但在Python中,其实我们有一种更简洁的写法:

2. 将list中的所有元素转为单个字符串

列表和字符串是Python中最常见的数据类型,它们会遇到互相转换的需要。那么,我们该怎么把list中的所有元素转为字符串呢?

3. 查找list中出现次数最多的元素

给定一个包含多个元素的list,让你查找其中出现次数最多的元素,你会怎么做?在下图中,我们介绍了两种方法,其中第一种是利用max()函数的key参数,第二种则是使用Counter。

4. 判断两个字符串是否是anagram

所谓anagram,就是两个词所用的字母及其个数都是一样的,但是它们字母的位置不一样,比如abc,bac,acb。在Python中,Counter可以解决这个问题,

5. 字符串倒转

字符串倒转,就是把1234转成4321。下面我们介绍了三种方法:

方法一:最简单的切片法,a[::-1]就相当于a[尾:头:-1]。

方法二:用Python自带reversed()函数,它可被用于list倒转。

方法三:第三种是通过倒转数据类型和切片倒转整数。

6. list倒转

和字符串倒转类似,切片法也可以被用于list倒转,如下面的第一种方法。第二种方法调用的是上面提到的reversed()函数。

7. 二维矩阵转置

如果要转置矩阵,可以直接使用使用zip()函数。除此之外,没有比import numpy更简单的方法了。

8. 链式比较

如果想输出数组中介于4-7之间的元素,java是这么写的:if( b > 4 && b < 7){ },但Python更人性化。包括最后一句1 == b < 20,这和C、java也很不一样。

9. 链式调用

在python中实现链式调用只需在函数返回对象自己就行了。

10. 复制list

如果是刚学习Python的C用户,你可能会想写b = a,但这是错的。在Python中,变量指向的是某个对象的标签。也就是说,按照这种的写法,b和a指向的是内存中的同一个列表,对b操作,就相当于对a操作。所以正确的写法有以下几种:

方法一:b=a[:]。

方法二:b=list(a)。

方法三:使用Python 3的copy()函数,直接复制list,类似a[:]。

方法四:使用copy.deepcopy()。

11. 判断一个key是否在字典中

如果目标key不在字典中,以下代码会返回None或default。

12. 按value排序字典

Python的内置字典数据类型是无序的,而key可以被用来获取对应的value。有时我们需要根据value对字典中的item进行排序输出。方法如下所示:

方法一:用sorted函数排序,其中key参数是lamda表达式。

方法二:用operator.itemgetter而不是lamda表达式进行排序。

方法三:如果只需得到排序后的key,可用.get。

13. for ... else语法

14. 用逗号分隔list

下面分别是字符串list、数字list和混合list的逗号分隔方式。

15. 合并字典

方法一:Python 3.5可以存在重复键值,print({**d1, **d2})。

方法二:在内存中创建两个列表,再创建第三个列表,拷贝完成后,创建新的dict,删除掉前三个列表。

方法三:d1.update()。

16. list中的最小和最大索引

17. 从list中删除重复项

方法一:把list转成set,去除重复项,再转回list。

方法二:调用collections里的OrderedDict,和set差不多。

希望本文能给你帮助,我选择Numpy。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33060
  • 机器学习
    +关注

    关注

    66

    文章

    8112

    浏览量

    130545
  • python
    +关注

    关注

    51

    文章

    4671

    浏览量

    83458

原文标题:Python教程:17个冷门但实用的小技巧

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Python 语言的发展简史

    说的Guido是美国人么?”“他从Google换到Dropbox工作,但他的名字像是荷兰人的。”“确定很熟悉Python吗?”所以为了雪耻,我花时间调查
    发表于 09-28 10:14

    Python机器学习常用库

    欢迎的编程语言!人工智能是当前最热门话题之一,机器学习技术是人工智能实现必备技能,Python编程语言含有最有用的
    发表于 03-26 16:29

    零基础Python编程快速入门学习

    零基础情况下,想学一门语言学习Python更合适,相比较其他不少主流编程语言,有更好的可读性,上手更容易,那么如何快速
    发表于 04-26 15:49

    常用python机器学习库盘点

    ,词性的解析,分类,语义解释,概率分析还有评估。2.scikit-learnPython社区里面机器学习模块sklearn,内置很多算法,几乎实现所有基本
    发表于 05-10 15:20

    Python快速入门方法

    。那么如何快速掌握python?设定目标:做 Python 开发除了熟悉语言本身之外,还需要掌握很多相关联的技能,好比打NBA,
    发表于 05-24 15:37

    怎么有效学习Python数据分析?

    Python在人工智能、机器学习领域受到火热追捧,很大程度上在于它拥有非常庞大的第三方库,以及强大的通用编程性能。因此,快速掌握Python
    发表于 06-28 15:18

    快速学习Python的技巧

    的结果是,可以在原生模式下执行应用程序,而不是依靠解释器。根据平台和任务,可以看到一个显著的性能提升。五、优化循环每种编程语言都会强调需要优化循环。优化循环的关键,是要减少Python
    发表于 07-27 14:58

    使用 Python 开始机器学习

    的运行速度跟它的低层语言实现的运行速度相比拟的。没有必要担心程序的运行速度。值得知道的Python程序库Scikit-learn刚开始学机器
    发表于 12-11 18:37

    Python为什么不是国内的主流编程语言呢?

    Python这么好用,为什么不是国内的主流编程语言呢?感觉还是用C和java的比较多……然而自己只会Python……
    发表于 06-01 05:55

    Python运用范围广泛

    Python是一种强大的语言,为世界各地的开发人员提供多种用途。根据TIOBE指数,Python的排名还在继续攀升。开发人员和技术专业人员也不断发现
    发表于 11-24 14:13

    编程语言首推Python,掌握Python就是掌握了未来

    从 2018 年 9 月起,编程将成为所有高中生学习掌握的内容。不仅如此, 编程语言 Python 还被纳入高考科目,甚至进入到小学生的教材,要求未来每个孩子都要
    的头像 发表于 05-07 10:34 6801次阅读
    编程<b class='flag-5'>语言</b>首推<b class='flag-5'>Python</b>,<b class='flag-5'>掌握</b>了<b class='flag-5'>Python</b>就是<b class='flag-5'>掌握</b>了未来

    Python机器学习主流语言,你真的掌握Python吗?

    给定一个包含多个元素的list,让你查找其中出现次数最多的元素,你会怎么做?在下图中,我们介绍了两种方法,其中第一种是利用max()函数的key参数,第二种则是使用Counter。
    的头像 发表于 08-17 09:21 2297次阅读

    如何快速学习Python学习Python有哪些坑?

    此外,作为人工智能的主要编程语言,未来的几年,Python势必继续高歌。而近期,数据科学网站KDnuggets,发布的2018数据科学和机器学习工具调查结果也显示:
    的头像 发表于 11-29 10:11 3672次阅读
    如何快速<b class='flag-5'>学习</b><b class='flag-5'>Python</b>?<b class='flag-5'>学习</b><b class='flag-5'>Python</b>有哪些坑?

    python机器学习概述

    是一种非常流行的编程语言,因为它具有非常强大的数据分析和科学计算库。Python可以被用来完成一系列的任务,包括机器学习、数据分析、图像处理、自然
    的头像 发表于 08-17 16:11 760次阅读

    python数据挖掘与机器学习

    python数据挖掘与机器学习 Python是一个非常流行的编程语言,被广泛用于数据挖掘和机器
    的头像 发表于 08-17 16:29 881次阅读