你应该知道的有趣的 Python 技巧
你好,Pythonistas,
Python很棒,它是最简单的语言之一,具有简单直观的语法,但是等等,你有没有想过有办法让你的Python 代码更简单?
在本教程中,您将学习各种Python 技巧,您可以像专业人士一样使用这些技巧以更易读、更高效的方式编写Python 代码。
让我们开始吧
在 Python 中交换值
您可以这样做,而不是创建临时变量来保存交换时的值
>>> FirstName = "kalebu"
>>> LastName = "Jordan"
>>> FirstName, LastName = LastName, FirstName
>>> print(FirstName, LastName)
('Jordan', 'kalebu')
从列表中的所有元素创建一个字符串
您可以这样做,而不是使用 for 循环遍历列表中的每个元素并将每个元素附加到字符串。
>>> python = ["Python", "Syntax" , "is", "elegantly"]
>>> python_string = ' '.join(python)
>>> print(python_string)
Python Syntax is elegantly
合并两个词典
使用update()合并两组字典
>>> a = {"name":"Python", "creator":"Guido"}
>>> b = {"age": 30, "gender" : None}
>>> a.update(b)
>>> print(a)
{'gender': None, 'age': 30, 'name': 'Python', 'creator': 'Guido'}
列表推导式创建特定列表
当您想要根据具有特定条件的序列创建列表时,请使用列表推导而不是for 循环。
您将要指定的,例如在下面的例子中,我们只用一行代码(一行代码)创建了一个奇数列表。
>>> odd = [x for x in range(20) if x%2 != 0]
>>> print(odd)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
在 Python 中反转字符串
您只需进行一点切片即可轻松反转字符串,如下所示。
>>> quote = "doog si doG"
>>> print(quote[::-1])
God is good
解压 Python 列表
您无需将每个变量重新分配给列表中的索引,而是通过解包立即执行此操作,如下面的代码所示。
>>> names = ['Melisa', 'Lisa', 'Peace']
>>> niece, friend, crush = names
>>> print('{} {} {}'.format(niece, friend, crush))
Melisa Lisa Peace
迭代两个 Python 列表
实际上,您可以一次迭代两个列表,而无需使用嵌套循环,如下所示
>>> books = ['mabala', 'money heist', 'GOT']
>>> pages = [200, 300, 600]
>>> for book ,page in zip(books, pages):
... print("{}--->{}".format(book, page))
...
mabala--->200
money heist--->300
GOT--->600
在条件语句中使用 all 或 any
您实际上可以使用任意和所有关键字来执行此操作,而不必为您的逻辑编写许多if-else语句。
仅当所有元素都为真时,all才会被评估为True,而当多个条件中的任何一个被评估为True时, any才会被评估为 True。
>>> data = [True, True, False]
>>> if any(data):
... print("at least")
...
at least
>>> if not all(data):
... print("Thats right")
...
That's right
对数字序列进行累计求和
如果你想要对数字的累积和进行绘图,你可以使用 numpy 的cumsum ()函数轻松完成此操作
>>> import numpy as np
>>> factors = list(np.cumsum(range(0,20,3)))
>>> print(factors)
[0, 3, 9, 18, 30, 45, 63]
向 Iterables(列表、元组等)添加索引
这样做可以自动索引 Iterable 中的元素
>>> students = ['Immaculate', 'Prisca', 'Lizy']
>>> student_with_index = list(enumerate(students))
>>> print(student_with_index)
[(0, 'Immaculate'), (1, 'Prisca'), (2, 'Lizy')]
导入此(Python 设计原则)
一旦你这样做,你会惊讶地看到编写 Python 代码的禅意出现在你面前
import this
'''
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!'''
希望您觉得这篇文章有趣,现在与您的同伴分享您所做的事情,现在发推文。
原文可在kalebujordan.com上找到
文章来源:https://dev.to/kalebu/interesting-python-tricks-that-you-should-know-41bi