本篇内容主要讲解“Python中经常使用的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中经常使用的技巧有哪些”吧!
1. 反转字符串
虽然看似是很基础的操作,但是用char循环来反转字符串可能会非常繁琐麻烦。幸运的是,Python包含了一个简单的内置操作来准确地执行这个任务,我们只需访问字符串上的索引::-1。
a = "!dlrow olleH"backward = a[::-1]
2. Dims作为变量
在大多数语言中,为了将数组放入一组变量中需迭代循环值,或按位置访问暗点,如下所示:
firstdim = array[1]
然而,在Python中有一种更好更快的方法。为了将一列值改为变量,可以简单地将变量名设置为与数组长度相同的数组:
array = [5, 10, 15, 20]five, ten, fift, twent = array
3. 生成器的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 areaccessing the position of i
我们也可以用next()代替它。Next使用一个迭代器,该迭代器将当前位置存储在内存中,并在后台迭代列表:
g = (x ** 2 for x in range(10))print(next(g))print(next(g))
4. 智能拆包
迭代地解压值可能会非常耗费时力,Python中有几种不错的方法可以用来解压列表的方法。其中一个是*,它将填充未分配的值并将它们添加到变量名下的新列表中。
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. 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))
8. 分组相邻列表
在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)
9. 计数器
集合也是模块中很好的标准库,这里向大家介绍的是集合中的计数器。使用计数器,可以轻松获得一个列表的计数。这对于获取数据中的值总数、数据的空计数,以及查看数据的唯一值非常有用。
“为什么不直接使用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 collectionsQ = 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中经常使用的技巧有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!