返回顶部
首页 > 资讯 > 后端开发 > Python >Python的10个神奇的技巧分别是哪些
  • 713
分享到

Python的10个神奇的技巧分别是哪些

2024-04-02 19:04:59 713人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python的10个神奇的技巧分别是哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。尽管从表面上看,Python似乎是任何人

python的10个神奇的技巧分别是哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

尽管从表面上看,Python似乎是任何人都可以学习的一种简单语言,但确实如此,许多人可能惊讶地知道一个人可以熟练掌握该语言。  Python是其中的一门很容易学习的东西,但可能很难掌握。  在Python中,通常有多种处理方法,但是很容易做错事情,或者重新发明标准库并浪费时间,这仅仅是因为您不知道模块的存在。

不幸的是,Python标准库是一个巨大的野兽,此外,其生态系统绝对是巨大的。  尽管可能有200万千兆字节的Python模块,但是您可以使用通常与Python中的科学计算相关的标准库和软件包学习一些有用的技巧。

№1:反向串

尽管看似基本,但使用char循环反转字符串可能非常繁琐且令人讨厌。 幸运的是,Python包含一个简单的内置操作来精确地执行此任务。  为此,我们只需访问字符串上的索引::-1。

a = "!dlrow olleH"  backward = a[::-1]
Python的10个神奇的技巧分别是哪些

№2:变暗作为变量

在大多数语言中,为了将数组放入一组变量中,我们需要迭代遍历值或按位置访问暗点,如下所示:

firstdim = array[1]

但是,在Python中,有一种更酷的方法。 为了将值列表更改为变量,我们可以简单地将变量名设置为等于数组,且数组长度相同:

array = [5, 10, 15, 20]  five, ten, fift, twent = array
Python的10个神奇的技巧分别是哪些

№3:Itertools

如果您打算花任何时间在Python上花费任何时间,那么您肯定会想要熟悉itertools。  Itertools是标准库中的一个模块,可让您不断解决迭代问题。 它不仅使编写复杂的循环变得容易得多,而且使您的代码更快,更简洁。  这只是Itertools用法的一个示例,但有数百个:

c = [[1, 2], [3, 4], [5, 6]]  # Let's convert this matrix to a 1 dimensional list.import itertools as  itnewlist = list(it.chain.from_iterable(c))

№4:智能开箱

迭代地解压缩值可能会非常耗时且费力。 幸运的是,Python有几种很酷的方式可以解压缩列表!  一个例子是*,它将填充未分配的值并将它们添加到变量名下的新列表中。

a, *b, c = [1, 2, 3, 4, 5]
Python的10个神奇的技巧分别是哪些

№5:枚举

如果您不了解枚举,则可能应该熟悉它。 枚举将允许您获取列表中某些值的索引。 当使用数组而不是数据框架时,这在数据科学中特别有用。

for i,w in enumerate(array):  print(i,w)
Python的10个神奇的技巧分别是哪些

№6:名字切片

在Python中拆分列表非常简单! 可以使用各种各样的出色工具,但是肯定有价值的一个功能是可以命名列表的片段。  这对于Python中的线性代数特别有用。

a = [0, 1, 2, 3, 4, 5]  LASTTHREE = slice(-3, None)  slice(-3, None, None)  print(a[LASTTHREE])
Python的10个神奇的技巧分别是哪些

№7:组相邻列表

当然可以在for循环中相当容易地对相邻循环进行分组,特别是通过使用zip(),但这当然不是最好的处理方式。  为了使事情变得更加轻松和快捷,我们可以使用zip编写一个lambda表达式,该表达式将对我们的相邻列表进行分组,如下所示:

a = [1, 2, 3, 4, 5, 6]  group_adjacent = lambda a, k: zip(*([iter(a)] * k))  group_adjacent(a, 3)  [(1, 2, 3), (4, 5, 6)]  group_adjacent(a, 2)  [(1, 2), (3, 4), (5, 6)]  group_adjacent(a, 1)

№8:生成器的next()迭代

编程的大多数正常情况下,我们可以使用一个计数器来访问一个索引并获取我们的仓位号,该计数器将只是添加到以下值的值:

array1 = [5, 10, 15, 20]  array2 = (x ** 2 for x in range(10))  counter = 0for i in array1:  # This code wouldn't work because 'i' is not in array2.  # i = array2[i]  i = array2[counter]  # ^^^ This code would because we are accessing the position of i

但是,我们可以使用next()代替它。 Next使用一个迭代器,该迭代器将当前位置存储在内存中,并在后台遍历列表。

g = (x ** 2 for x in range(10))  print(next(g))  print(next(g))
Python的10个神奇的技巧分别是哪些

№9:Counter

标准库中另一个很棒的模块是集合,我今天想向您介绍的是集合中的计数器。 使用Counter,我们可以轻松获得列表的计数。  这对于获取数据中的值总数,获取数据的空计数以及查看数据的唯一值很有用。 我知道你在想什么

"为什么不只使用pandas?"

这当然是正确的观点。 但是,使用Pandas进行自动化无疑会更加困难,并且只是在部署算法时需要将其添加到虚拟环境中的另一个依赖项。  此外,Python中的计数器类型具有Pandas系列所没有的许多功能,这使其在某些情况下更加有用。

A = collections.Counter([1, 1, 2, 2, 3, 3, 3, 3, 4, 5, 6, 7])  A  Counter({3: 4, 1: 2, 2: 2, 4: 1, 5: 1, 6: 1, 7: 1})  A.most_common(1)  [(3, 4)]  A.most_common(3)  [(3, 4), (1, 2), (2, 2)]

№10:出队

收集模块中另一个很棒的事情是出队。 看看我们可以用这种类型做的所有整洁的事情!

import collections  Q = collections.deque()  Q.append(1)  Q.appendleft(2)  Q.extend([3, 4])  Q.extendleft([5, 6])  Q.pop()  Q.popleft()  Q.rotate(3)  Q.rotate(-3)  print(Q)
Python的10个神奇的技巧分别是哪些

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网Python频道,感谢您对编程网的支持。

--结束END--

本文标题: Python的10个神奇的技巧分别是哪些

本文链接: https://lsjlt.com/news/84539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python的10个神奇的技巧分别是哪些
    Python的10个神奇的技巧分别是哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。尽管从表面上看,Python似乎是任何人...
    99+
    2024-04-02
  • JavaScript的10个实用小技巧分别是哪些
    本篇文章给大家分享的是有关JavaScript的10个实用小技巧分别是哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我一直在寻找提高效率的...
    99+
    2024-04-02
  • Linux系统中sudo命令的10个技巧分别是哪些
    今天就跟大家聊聊有关Linux系统中sudo命令的10个技巧分别是哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。sudo 命令与安全策略配合使用,默认安全策略是 sudoers,...
    99+
    2023-06-16
  • 11个Python Pandas小技巧分别是哪些
    今天就跟大家聊聊有关11个Python Pandas小技巧分别是哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。或许本文中的某些命令你早已知晓,只是没意识到它还有这种打开方式。Pa...
    99+
    2023-06-16
  • 9个JavaScript技巧分别是哪些
    本篇文章为大家展示了9个JavaScript技巧分别是哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 生成指定范围的数字在某些情况下,我们会创建一个处在两个...
    99+
    2024-04-02
  • 8个Python高效数据分析的技巧分别是哪些
    这期内容当中小编将会给大家带来有关8个Python高效数据分析的技巧分别是哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。不管是参加Kaggle比赛,还是开发一个深度学习应用,***步总是数据分析。介绍...
    99+
    2023-06-17
  • Python开发的高级技巧分别是哪些
    Python开发的高级技巧分别是哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我列出几个Python高级技巧:1. contextmanager写Python代码的时候经常...
    99+
    2023-06-17
  • Python语言的10个小技巧分享
    这篇文章主要讲解了“Python语言的10个小技巧分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python语言的10个小技巧分享”吧!10个Python小技巧1. 用ZIP处理列表假设...
    99+
    2023-06-16
  • 10个Python面试常问的问题分别是哪些
    10个Python面试常问的问题分别是哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。概述Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,P...
    99+
    2023-06-17
  • 被忽略的11个JavaScript小技巧分别是哪些
    被忽略的11个JavaScript小技巧分别是哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。过滤唯一值Set类型是在ES6中新增的,它...
    99+
    2024-04-02
  • 使用Python加速数据分析的10个简单技巧分别是什么
    这期内容当中小编将会给大家带来有关使用Python加速数据分析的10个简单技巧分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。提示和技巧,尤其是在编程领域,可能是非常有用的。有时,一个小技巧可以节...
    99+
    2023-06-16
  • 10个Python中Pip的使用技巧分享
    目录Python pip1.安装 pip2.升级 pip3.安装库4. 库的批量安装5.卸载和升级包6. 冻结 Python pip 依赖7.查看库信息8.查看需要升级的库9. 检查...
    99+
    2024-04-02
  • 10 个强大的Apache模块分别是哪些
    这期内容当中小编将会给大家带来有关10 个强大的Apache模块分别是哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Apache 是世界上使用最为广泛的 Web 服务...
    99+
    2024-04-02
  • 5个你应该知道的JavaScript技巧分别是哪些
    这篇文章将为大家详细讲解有关5个你应该知道的JavaScript技巧分别是哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript是目前最流行...
    99+
    2024-04-02
  • 10个提高效率的UNIX和Linux技巧分别是什么
    这期内容当中小编将会给大家带来有关10个提高效率的UNIX和Linux技巧分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如果您的服务也部署在 Linux 机器上,并且您每天有...
    99+
    2023-06-28
  • 18个Python高效编程技巧分别有哪些
    这篇文章给大家介绍18个Python高效编程技巧分别有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。初识Python语言,觉得python满足了我上学时候对编程语言的所有要求。python语言的高效编程技巧让我们这...
    99+
    2023-06-16
  • Java堆内存的10个要点分别是哪些
    今天就跟大家聊聊有关Java堆内存的10个要点分别是哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。当我开始学习Java编程时,我不知道什么是堆内存或堆空间,我甚至不知道当对象创建...
    99+
    2023-06-17
  • Python的两个实用冷技巧分别是什么
    这期内容当中小编将会给大家带来有关Python的两个实用冷技巧分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一. 记得刚开始工作的时候,老大给我们上 C++ 基础课,告诉我们字符串字面量可以换行...
    99+
    2023-06-17
  • 从Vue源码中学到的5个JavaScript技巧分别是哪些
    这期内容当中小编将会给大家带来有关从Vue源码中学到的5个JavaScript技巧分别是哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。从他人的成果中汲取营养是进步的法...
    99+
    2024-04-02
  • 22个Python实用技巧分别是什么
    本篇文章给大家分享的是有关22个Python实用技巧分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作