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. 交换变量

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


	
  1. # 输入

  2. a = 5

  3. b = 10

  4. #创建临时变量

  5. temp = a

  6. a = b

  7. b = temp

  8. print(a)

  9. 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。


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

    关注

    67

    文章

    8564

    浏览量

    137221
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90306
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Python全栈一课通(470集)(12.96 GB)-网盘资源下载

    获取每一条新增数据的边际成本几乎为零。当别人还在为数据源的枯竭而发愁时,能够源源不断地为企业的机器学习模型或商业分析提供廉价且海量的“原材料”。掌握
    发表于 04-19 16:30

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion中的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一个
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    摘要 VirtualLab Fusion允许Python外部访问其建模技术、求解器和结果。这个用例介绍一种使用路径变量和Visual Studio代码将Python连接到VirtualLab
    发表于 03-31 09:39

    [VirtualLab] 使用Python进行跨平台参数扫描

    如何收集结果,这些结果可以通过Python提供的所有功能进一步处理。以光栅为例,严格分析光栅的衍射效率。 **此用例展示… ** 在哪里找文件 README文件 **准备Python
    发表于 03-31 09:36

    如何在 VisionFive 上使用 Python 包?

    VisionFive Fedora 下的本地目录,请在源代码目录下执行以下命令: 提示:源代码可从以下位置下载:愿景五.gpio. sudo yum install python
    发表于 03-30 08:28

    强强联合:imc FAMOS内嵌Python接口,提高分析效率!

    语言,在以下方面非常强大:提供数学、云连接、机器学习和您几乎能想到的所有数据库选择高性能处理大数据自动生成报告(如在MicrosoftWord中)imcFAMOS作
    的头像 发表于 03-18 09:05 481次阅读
    强强联合:imc FAMOS内嵌<b class='flag-5'>Python</b>接口,提高分析效率!

    没有专利的opencv-python 版本

    /SURF),且这些算法的专利已陆续过期(SIFT 2020 年过期,SURF 多数地区已过期)。 以下是 完全无专利风险、适配不同场景的 OpenCV 版本推荐,结合Python 3.13.9
    发表于 12-13 12:37

    一文了解Mojo编程语言

    Mojo 语言的具体介绍: 核心特点 Python 兼容性 Mojo 支持大部分 Python 语法和标准库,可直接调用 Python 生态系统中的库,降低了
    发表于 11-07 05:59

    Pico Technology发布Python软件包pyPicoSDK

    近日,全球领先的基于 PC 的仪器供应商Pico Technology 官方发布 pyPicoSDK,这是一款旨在简化 PicoScopes 应用的 Python 软件包。pyPicoSDK 在
    的头像 发表于 09-29 15:03 1109次阅读

    termux调试python猜数字游戏

    : print(f\"? 太大! 剩余次数: {max_attempts - attempts}\") else: print(f\"\\n? 恭喜! 在{attempts}次
    发表于 08-29 17:15

    termux如何搭建python游戏

    termux如何搭建python游戏 Termux搭建Python游戏开发环境的完整指南 一、Termux基础环境准备 Termux是一款无需root即可在安卓设备上运行的Linux终端
    发表于 08-29 07:06

    python app不能运行怎么解决?

    我使用helloword的模板,上传IG502,但不能运行,请大神帮忙。系统日志如下:sntpc[1226]: ntp request error: 113, No route to host
    发表于 08-06 06:27

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富
    的头像 发表于 07-24 15:32 1107次阅读
    C++ 与 <b class='flag-5'>Python</b>:树莓派上哪种<b class='flag-5'>语言</b>更优?

    基础篇3:掌握Python中的条件语句与循环

    Python编程语言中,条件语句和循环是构成复杂逻辑和数据处理的基石。本篇基础教程将帮助您深入了解Python中的条件语句和循环结构,让您能够更好地控制程序流程。 条件语句 条件语句允许程序根据
    发表于 07-03 16:13

    跟老齐学Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插很多貌似与Python 编程无关,但与学习
    发表于 06-03 16:10