前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
近年来,数据科学经历了巨大的发展。作为数据科学领域中最常用的编程语言,Python 也越来越受欢迎。
在本文中,我将提到6个我认为非常酷的 Python 技巧。它们还会通过提供完成某些任务的实用方法,让你的编程体验更加轻松。
要成为一个好的程序员,仅仅写代码来完成一个给定的任务是不够的。你的程序应该在时间和计算复杂性方面是有效的。此外,代码应该整洁,易于阅读和调试,并且可维护。
本文中的技巧将帮助您实现编写干净高效的代码的最终目标。
1. 切片
有些数据结构允许索引和切片,如列表、字符串和元组。
我们可以使用整数来指定片的上下限。
s = slice(3,6)
lst = [1, 3, 'a', 'b', 5, 11, 16]
text = 'DataScience'
tpl = (1,2,3,4,5,6,7)
print(lst[s])
['b', 5, 11]
print(text[s])
aSc
print(tpl[s])
(4, 5, 6)
上述代码中 s 表示从第四个元素到第六个元素的切片操作。我们可以将相同的片对象应用于列表、字符串和元组。
2. 交换变量
我们可能遇到需要交换两个变量值的情况。一种方法是使用中间变量来临时保存值。
a = 'John'
b = 'Emily'
c = a
a = b
b = c
print(a)
'Emily'
print(b)
'John'
Python 提供了一种更好的交换方法。
a = 20
b = 50
a, b = b, a
print(a)
50
print(b)
20
3. 对列表进行排序
假设我们有一个列表。
lst = [[2, 7], [7, 3], [3, 8], [8, 7], [9, 7], [4, 9]]
通过使用带有 lambda 函数的 sort 函数,我们可以根据内部列表的第一项或第二项对列表进行排序。
lst.sort(key = lambda inner:inner[1])
print(lst)
[[7, 3], [2, 7], [8, 7], [9, 7], [3, 8], [4, 9]]
列表根据第二个项目进行排序。我们可以对第一个项目做同样的改变,只需将1改为0。
lst.sort(key = lambda inner:inner[0])
print(lst)
[[2, 7], [3, 8], [4, 9], [7, 3], [8, 7], [9, 7]]
4. Argument unpacking
假设我们有一个将给定数字相乘的函数。
def mult(a, b, c):
return a * b * c
mult(2, 3, 4)
24
如果我们只需要乘以三个数字,这个函数就可以正常工作。必须准确地给出三个数字。我们可以通过对给定的参数进行 unpack 操作来使函数更加灵活。
def mult(*args):
result = 1
for i in args:
result *= i
return result
现在,mult 函数可以对任意数量的值进行相乘。
mult(2, 3)
6mult(2, 3, 4)
24mult(2, 3, 4, 5)
120
上述操作在 Python 中非常常见。如果您阅读了包或库的文档,那么您一定看过 * args 和 * * kwargs。
5. 数据分解
假设我们有一个返回两个值的元组的函数,并且我们希望将每个值分配给一个单独的变量。一种方法是使用如下索引:
tpl = (1, 2)
x = tpl[0]
y = tpl[1]
print(x, y)
1 2
还有一个更好的选择,允许我们在一行中执行相同的操作。
x, y = tpl
print(x, y)
1 2
它可以扩展为具有多于2个值的元组或其他一些数据结构,如列表或集合。
x, y, z = {1, 2, 3}
print(x, y, z)
1 2 3
x, y, z = ['a', 'b', 'c']
print(x, y, z)
a b c
6. f 字符串
在字符串中添加变量是一种常见的做法。字符串是迄今为止最酷的方式。为了更好地理解 f 字符串,让我们首先使用 format 函数执行操作。
name = 'John'
age = 15
print("{} is {} years old".format(name, age))
John is 15 years old
我们通过在末尾使用 format 函数来指定花括号中的变量。字符串允许指定字符串中的变量。
print(f"{name} is {age} years old")
John is 15 years old
f 字符串更容易跟踪和输入,而且,它们使代码更具可读性。
总结
我们已经介绍了6个简单但非常实用的技巧。它们会引起一些小的变化,但是一些小的改进会积累起来。您最终将编写更高效、更易于阅读和调试、更易于维护的代码。