10个技巧,这些技巧将个性化并改善您的Python代码
文章插图
> (Python logo src = http://python.org/)
尽管从表面上看,Python似乎是任何人都可以学习的一种简单语言,但确实如此,许多人可能惊讶地知道一个人可以熟练掌握该语言 。Python是其中的一门很容易学习的东西,但可能很难掌握 。在Python中,通常有多种处理方法,但是很容易做错事情,或者重新发明标准库并浪费时间,这仅仅是因为您不知道模块的存在 。
不幸的是,Python标准库是一个巨大的野兽,此外,其生态系统绝对是巨大的 。尽管可能有200万千兆字节的Python模块,但是您可以使用通常与Python中的科学计算相关的标准库和软件包学习一些有用的技巧 。
№1:反向串尽管看似基本,但使用char循环反转字符串可能非常繁琐且令人讨厌 。幸运的是,Python包含一个简单的内置操作来精确地执行此任务 。为此,我们只需访问字符串上的索引::-1 。
a = "!dlrow olleH"
backward = a[::-1]
文章插图
№2:变暗作为变量在大多数语言中,为了将数组放入一组变量中,我们需要迭代遍历值或按位置访问暗点,如下所示:
firstdim = array[1]但是,在Python中,有一种更酷的方法 。为了将值列表更改为变量,我们可以简单地将变量名设置为等于数组,且数组长度相同:
array = [5, 10, 15, 20]
five, ten, fift, twent = array
文章插图
№3:Itertools如果您打算花任何时间在Python上花费任何时间,那么您肯定会想要熟悉itertools 。Itertools是标准库中的一个模块,可让您不断解决迭代问题 。它不仅使编写复杂的循环变得容易得多,而且使您的代码更快,更简洁 。这只是Itertools用法的一个示例,但有数百个:
c = [[1, 2], [3, 4], [5, 6]]№4:智能开箱迭代地解压缩值可能会非常耗时且费力 。幸运的是,Python有几种很酷的方式可以解压缩列表! 一个例子是*,它将填充未分配的值并将它们添加到变量名下的新列表中 。
# Let's convert this matrix to a 1 dimensional list.import itertools as
itnewlist = list(it.chain.from_iterable(c))
a, *b, c = [1, 2, 3, 4, 5]
文章插图
№5:枚举如果您不了解枚举,则可能应该熟悉它 。枚举将允许您获取列表中某些值的索引 。当使用数组而不是数据框架时,这在数据科学中特别有用 。
for i,w in enumerate(array):
print(i,w)
文章插图
№6:名字切片在Python中拆分列表非常简单! 可以使用各种各样的出色工具,但是肯定有价值的一个功能是可以命名列表的片段 。这对于Python中的线性代数特别有用 。
a = [0, 1, 2, 3, 4, 5]
LASTTHREE = slice(-3, None)
slice(-3, None, None)
print(a[LASTTHREE])
文章插图
№7:组相邻列表当然可以在for循环中相当容易地对相邻循环进行分组,特别是通过使用zip(),但这当然不是最好的处理方式 。为了使事情变得更加轻松和快捷,我们可以使用zip编写一个lambda表达式,该表达式将对我们的相邻列表进行分组,如下所示:
a = [1, 2, 3, 4, 5, 6]№8:生成器的next()迭代在编程的大多数正常情况下,我们可以使用一个计数器来访问一个索引并获取我们的仓位号,该计数器将只是添加到以下值的值:
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)
array1 = [5, 10, 15, 20]但是,我们可以使用next()代替它 。Next使用一个迭代器,该迭代器将当前位置存储在内存中,并在后台遍历列表 。
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]
【Python的10个神奇的技巧】i = array2[counter]
# ^^^ This code would because we are accessing the position of i
推荐阅读
- 旺店商品有用吗 旺店宝怎么用
- 网店如何打造爆款 如何打造淘宝店铺的爆款
- 单丛茶的功效,乌岽山上的单丛茶
- 茶梗对茶叶品质的作用,迷迭香茶叶的价格迷迭香茶挑选方法
- 程序员用Python实现自动化控制键盘和鼠标
- 茶叶冲泡有讲求,泡壶好茶是有许多讲求发挥出茶中固有的色香和昧
- Go 内存分配器的设计与实现
- 茶艺享受的是时间,茶艺根据不同的原则和方法的分类
- 茶油的营养价值,长期吃茶油的坏处
- 茶具的选购之配套用具,茶具的奇思妙想