Heim  >  Artikel  >  Backend-Entwicklung  >  Lehren: Lernen Sie alle 30 Sekunden einen Python-Trick

Lehren: Lernen Sie alle 30 Sekunden einen Python-Trick

coldplay.xixi
coldplay.xixinach vorne
2021-01-02 10:25:442160Durchsuche

Viele Freunde, die das Python-Video-Tutorial studieren, werden während der tatsächlichen Projektimplementierung auf viele Probleme bei der Funktionsimplementierung stoßen. Einige Probleme sind nicht schwierig, oder es gibt bereits gute Methoden, sie zu lösen. Was den Perfektionismus ausmacht, ist natürlich, dass wir, wenn wir mit dem Programmieren vertraut sind, natürlich in der Lage sein werden, einige nützliche Techniken zusammenzufassen, aber für diejenigen Schüler, die sich gerade erst mit Python vertraut machen, ist das vielleicht nicht so einfach.

Lehren: Lernen Sie alle 30 Sekunden einen Python-Trick

Empfohlen (kostenlos): Python-Video-Tutorial

Dieses Mal empfehle ich eine gute Ressource zum Erlernen dieser Fähigkeiten „30-seconds-of-python“, Alle Fähigkeiten und Methoden können in nur 30 Sekunden abgerufen werden, und Sie können Ihre Geschäftszeit nutzen, um sie zu sammeln. Werfen Sie einen kurzen Blick unten. “30-seconds-of-python”,所有技巧方法只要30秒就能get到,完全可以利用业务时间不断积累。下面赶紧来看一下。

https://github.com/30-seconds...

内容目录

下面是30秒学Python的整个目录,分为几大板块:ListMathObjectStringUtility,以下是整理的思维脑图。

Lehren: Lernen Sie alle 30 Sekunden einen Python-Trick

我挑选了10个实用并很有意思的方法分享给大家,其余的感兴趣可以自行学习。

1. List:all_equal
功能实现:检验一个列表中的所有元素是否都一样。
解读:使用[1:] 和 [:-1] 来比较给定列表的所有元素。

def all_equal(lst):
return lst[1:] == lst[:-1]

举例:

all_equal([1, 2, 3, 4, 5, 6]) # False
all_equal([1, 1, 1, 1]) # True

2. List:all_unique
功能实现:如果列表所有值都是唯一的,返回 True,否则 False
解读:在给定列表上使用集合set()去重,比较它和原列表的长度。

def all_unique(lst):
return len(lst) == len(set(lst))

举例:

x = [1,2,3,4,5,6]
y = [1,2,2,3,4,5]
all_unique(x) # True
all_unique(y) # False

3. List:bifurcate
功能实现:将列表值分组。如果在filter的元素是True,那么对应的元素属于第一个组;否则属于第二个组。
解读:使用列表推导式和enumerate()基于filter元素到各组。

def bifurcate(lst, filter):
    return [
    [x for i,x in enumerate(lst) if filter[i] == True],
    [x for i,x in enumerate(lst) if filter[i] == False]
  ]

举例:

bifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True])

# [ ['beep', 'boop', 'bar'], ['foo'] ]

4. List:difference
功能实现:返回两个iterables间的差异。
解读:创建b的集合,使用a的列表推导式保留不在_b中的元素。

def difference(a, b):
  _b = set(b)
return [item for item in a if item not in _b]

举例:

difference([1, 2, 3], [1, 2, 4]) # [3]

5. List:flatten
功能实现:一次性的整合列表。
解读:使用嵌套的列表提取子列表的每个值。

def flatten(lst):
return [x for y in lst for x in y]

举例:

flatten([[1,2,3,4],[5,6,7,8]]) # [1, 2, 3, 4, 5, 6, 7, 8]

6. Math:digitize
功能实现:将一个数分解转换为个位数字。
解读:将n字符化后使用map()函数结合int完成转化

def digitize(n):
return list(map(int, str(n)))

举例:

digitize(123) # [1, 2, 3]

7. List:shuffle
功能实现:将列表元素顺序随机打乱。
解读:使用Fisher-Yates算法重新排序列表元素。

from copy import deepcopy
from random import randint

def shuffle(lst):
  temp_lst = deepcopy(lst)
  m = len(temp_lst)
while (m):
    m -= 1
    i = randint(0, m)
    temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
return temp_lst

举例:

foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]

8. Math:clamp_number
功能实现:将数字num钳在由a和b边界值规定的范围中。
解读:如果num落尽范围内,返回num;否则,返回范围内最接近的数字。

def clamp_number(num,a,b):
return max(min(num, max(a,b)),min(a,b))

举例:

clamp_number(2, 3, 5) # 3
clamp_number(1, -1, -5) # -1

9. String:byte_size
功能实现:返回字符串的字节数。
解读:使用string.encode('utf-8')解码给定字符串,返回长度。

def byte_size(string):
    return len(string.encode('utf-8'))

举例:

byte_size('?') # 4
byte_size('Hello World') # 11

10. Math:gcd
功能实现:计算几个数的最大公因数。
解读:使用reduce()math.gcd

https://github.com/30-seconds...

Inhaltsverzeichnis

Das Folgende ist das gesamte Verzeichnis zum Erlernen von Python in 30 Sekunden, unterteilt in mehrere Hauptabschnitte : List, Math, Object, String, Utility, das Folgende ist ein zusammengestellte Denkkarte.

Lehren: Lernen Sie alle 30 Sekunden einen Python-Trick

ich Ich habe 10 praktische und interessante Methoden ausgewählt, die ich mit Ihnen teilen möchte. Den Rest können Sie bei Interesse selbst lernen. 🎜🎜🎜1. Liste: all_equal🎜
Funktionsimplementierung: Überprüfen Sie, ob alle Elemente in einer Liste gleich sind.
Interpretation: Verwenden Sie [1:] und [:-1], um alle Elemente der angegebenen Liste zu vergleichen. 🎜
from functools import reduce
import math

def gcd(numbers):
    return reduce(math.gcd, numbers)
🎜Beispiel: 🎜
gcd([8,36,28]) # 4
🎜🎜2. Liste: all_unique🎜
Funktionsimplementierung: Wenn alle Werte in der Liste eindeutig sind, geben Sie True zurück, andernfalls False
Interpretation: Verwenden Sie eine Menge für das Gegebene list
code>set()Entfernen Sie Duplikate und vergleichen Sie deren Länge mit der Originalliste. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜3. Liste: bifurcate🎜
Funktionsimplementierung: Gruppenlistenwerte. Wenn das Element in filter True ist, gehört das entsprechende Element zur ersten Gruppe, andernfalls gehört es zur zweiten Gruppe.
Interpretation: Verwenden Sie Listenverständnisse und enumerate(), um basierend auf Filterelementen zu gruppieren. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜4. Liste: Differenz🎜
Funktionsimplementierung: Gibt die Differenz zwischen zwei iterablen zurück.
Interpretation: Erstellen Sie eine Sammlung von b und verwenden Sie das Listenverständnis von a, um Elemente beizubehalten, die nicht in _b sind. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜5. Liste: flatten🎜
Funktionsimplementierung: Einmalige integrierte Liste.
Interpretation: Verwenden Sie verschachtelte Listen, um jeden Wert der Unterliste zu extrahieren. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜6. Mathematik: digitalisieren🎜
Funktionsimplementierung: Zerlegen Sie eine Zahl in einzelne Ziffern.
Interpretation: Verwenden Sie nach der Charakterisierung von n die Funktion map() in Kombination mit int, um die Konvertierung abzuschließen🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜7. shuffle🎜Funktionsimplementierung: Stört zufällig die Reihenfolge der Listenelemente.
Interpretation: Verwenden Sie den Fisher-Yates-Algorithmus, um Listenelemente neu anzuordnen. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜8. Mathematik: Klemme_Nummer🎜
Funktionsimplementierung: Klemme die Zahl num innerhalb des durch die Grenzwerte von a und b angegebenen Bereichs.
Interpretation: Wenn num außerhalb des Bereichs liegt, wird num zurückgegeben, andernfalls wird die nächstgelegene Zahl im Bereich zurückgegeben. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜9. String: byte_size🎜
Funktionsimplementierung: Gibt die Anzahl der Bytes des Strings zurück.
Interpretation: Verwenden Sie string.encode('utf-8'), um die angegebene Zeichenfolge zu dekodieren und die Länge zurückzugeben. 🎜rrreee🎜Beispiel: 🎜rrreee🎜🎜10. Mathematik: gcd🎜
Funktionsimplementierung: Berechnen Sie den größten gemeinsamen Faktor mehrerer Zahlen.
Interpretation: Verwenden Sie reduce() und math.gcd zur Implementierung in der angegebenen Liste. 🎜rrreee🎜Beispiel: 🎜rrreee🎜Das Obige sind verschiedene Tipps zum Erlernen von Python in 30 Sekunden. Wie wäre es damit? Haben Sie neue Inspirationen für einige gängige Operationen erhalten? Darüber hinaus können Sie viele andere Techniken langsam erlernen. 🎜

Das obige ist der detaillierte Inhalt vonLehren: Lernen Sie alle 30 Sekunden einen Python-Trick. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen