Heim > Backend-Entwicklung > Python-Tutorial > Der von mir geschriebene Python-Code wurde von meinen Kollegen gelobt.

Der von mir geschriebene Python-Code wurde von meinen Kollegen gelobt.

王林
Freigeben: 2023-04-12 13:43:12
nach vorne
1237 Leute haben es durchsucht

Das Leben ist kurz, ich benutze Python.

Das Streben von Programmierern besteht darin, so schnell wie möglich finanzielle Freiheit zu erlangen, ohne Code schreiben zu müssen. Nein, ich habe aus Versehen die Wahrheit gesagt, ich hätte den Code prägnant und elegant schreiben sollen.

Das Streben der Python-Programmierer ist Pythonic. Es kommt vor, dass es in der Sprache von Python viele „versteckte“ Methoden gibt, die den Code prägnant, elegant und einzigartig machen können.

Ich habe hier einige gängige Vorgänge, insbesondere zu Listen und Wörterbüchern, zusammengefasst, um sie mit Ihnen zu teilen.

Der erste Buchstabe wird groß geschrieben

Diese Methode ist etwas interessant, ich habe sie zufällig entdeckt.

>>> s = "programming is awesome"
>>> print(s.title())
Programming Is Awesome
Nach dem Login kopieren

Listenzusammenführung

Der erste Weg: Verwenden Sie +.

>>> a + b
[1, 2, 3, 4, 5, 6]
Nach dem Login kopieren

Der zweite Weg: Verwenden Sie das Schlüsselwort „extend“.

>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
Nach dem Login kopieren

Die beiden letztgenannten Methoden sind offensichtlich eleganter und werden empfohlen. Zu beachten ist, dass + langsamer und die Erweiterung besser ist, wenn die Liste groß ist.

Deduplizierung von Listenelementen

Verwenden Sie set(), um Listenelemente zu deduplizieren.

>>> a = [1, 2, 3, 4, 2, 3]
>>> list(set(a))
[1, 2, 3, 4]
Nach dem Login kopieren

Listensortierung

Verwenden Sie sort() oder die integrierte Funktion sorted(), um die Liste zu sortieren. Es gibt zwei Unterschiede zwischen ihnen:

  • Die sort()-Methode arbeitet mit der ursprünglichen Liste, während die sorted()-Methode eine neue Liste zurückgibt, die nicht auf der ursprünglichen Liste basiert.
  • sort() ist eine Methode, die auf Listen angewendet wird, während sorted() alle iterierbaren Objekte sortieren kann.
# sort()
>>> a = [1, 2, 3, 4, 2, 3]
>>> a.sort()
>>> a
[1, 2, 2, 3, 3, 4]
>>>
>>> a = [1, 2, 3, 4, 2, 3]
>>> a.sort(reverse=True)
>>> a
[4, 3, 3, 2, 2, 1]

# sorted()
>>> a = [1, 2, 3, 4, 2, 3]
>>> sorted(a)
[1, 2, 2, 3, 3, 4]
>>> a = [1, 2, 3, 4, 2, 3]
>>> sorted(a, reverse=True)
[4, 3, 3, 2, 2, 1]
Nach dem Login kopieren

Durchlaufen Sie die Index- und Elementpaare der Liste

Verwenden Sie die Funktion enumerate(), um sowohl den Index als auch den Elementwert auszugeben.

>>> a = ['python', 'go', 'java']
>>> for i, v in enumerate(a):
... print(i, v)

# output
0 python
1 go
2 java
Nach dem Login kopieren

Finden Sie das am häufigsten vorkommende Element in einer Liste

Verwenden Sie die Funktion max(), um schnell das am häufigsten vorkommende Element in einer Liste zu finden.

>>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2]
>>> b = max(set(a), key=a.count)
>>> b
4
Nach dem Login kopieren

Eine Sache ist zu beachten: Wenn zwei Elemente gleich oft in der Liste vorkommen, wird das erste Element zurückgegeben, das erscheint.

>>> a = [1, 2]
>>> b = max(set(a), key=a.count)
>>> b
1
Nach dem Login kopieren

Zähle die Anzahl der Vorkommen aller Elemente in der Liste

Der vorherige Code gibt den am häufigsten vorkommenden Wert an. Wenn Sie wissen möchten, wie oft alle Elemente in einer Liste vorkommen, können Sie das Modul „Collections“ verwenden.

collections ist ein Treasure-Modul in Python, das viele Funktionen bietet. Die Counter-Methode kann diese Anforderung perfekt lösen.

>>> from collections import Counter
>>>
>>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2]
>>> Counter(a)
Counter({4: 4, 2: 2, 3: 2, 1: 1, 5: 1})
Nach dem Login kopieren

Zwei Listen zu einem Wörterbuch zusammenführen

Mit der Funktion zip() können Sie zwei Listen zu einem Wörterbuch zusammenführen.

>>> a = ['one', 'tow', 'three']
>>> b = [1, 2, 3]
>>> dict(zip(a, b))
{'one': 1, 'tow': 2, 'three': 3}
Nach dem Login kopieren

Finden Sie den Schnittpunkt, die Vereinigung und die Differenz zweier Listen.

# list_operate.py

def main():
list_a = [1, 2, 3, 4, 5]
list_b = [4, 5, 6, 7, 8]

# 求交集的两种方式
res_a = [i for i in list_a if i in list_b]
res_b = list(set(list_a).intersection(set(list_b)))

print(f"res_a is: {res_a}")
print(f"res_b is: {res_b}")

# 求并集
res_c = list(set(list_a).union(set(list_b)))
print(f"res_c is: {res_c}")

# 求差集的两种方式,在B中但不在A中
res_d = [i for i in list_b if i not in list_a]
res_e = list(set(list_b).difference(set(list_a)))

print(f"res_d is: {res_d}")
print(f"res_e is: {res_e}")


if __name__ == '__main__':
main()
Nach dem Login kopieren

Wörterbucherstellung

# 1、创建空字典
a = {}
b = dict()

# 2、有初始值,从输入的便利程度来说,我更喜欢第二种
a = {'a': 1, 'b': 2, 'c': 3}
b = dict(a=1, b=2, c=3)

# 3、key 来自一个列表,而 value 相同, 使用 fromkeys,那是相当的优雅
keys = ['a', 'b', 'c']
value = 100
d = dict.fromkeys(keys, value)

# 4、key 来自一个列表,而 value 也是一个列表,使用 zip
keys = ['a', 'b', 'c']
values = [1, 2, 3]
d = dict(zip(keys, values))
Nach dem Login kopieren

Wörterbuchzusammenführung

m = {'a': 1}
n = {'b': 2, 'c': 3}

# 合并,两种方式
# 1、使用 update
m.update(n)
# 2、使用 **
{**m, **n}
Nach dem Login kopieren

Beurteilen Sie, ob der Schlüssel vorhanden ist

Beurteilen Sie einen Schlüssel in Python2 If es existiert, Sie können has_key verwenden, aber diese Methode wurde in Python3 entfernt.

Eine andere Methode ist die Verwendung des Schlüsselworts in, das nicht nur mit Python2 und Python3 kompatibel, sondern auch schneller und sehr zu empfehlen ist.

d = {'a': 1, 'b': 2}
if 'a' in d:
print('hello')
Nach dem Login kopieren

Den Wert im Wörterbuch abrufen

d = {'a': 1, 'b': 2}

# 1、直接用 key 取值,但这种方式不好,如果 key 不存在会报错,推荐使用 get
a = d['a']

# 2、使用 get,如果 key 不存在还可以赋默认值
a = d.get('a')
c = d.get('c', 3)
Nach dem Login kopieren

Wörterbuchdurchlauf

d = {'a': 1, 'b': 2, 'c': 3}

# 遍历 key
for key in d.keys():
pass

# 遍历 value
for value in d.values():
pass

# 遍历 key 和 value
for key, value in d.items():
pass
Nach dem Login kopieren

Wörterbuchverständnis

Listenverständnis und Wörterbuchableitung ist eine Funktion, die mir sehr gefällt, sie ist einfach und effizient. Ich kann Karte und Filter kaum noch verwenden.

l = [1, 2, 3]
{n: n * n for n in l}
{1: 1, 2: 4, 3: 9}
Nach dem Login kopieren

Wörterbücher werden nach Schlüssel oder Wert sortiert

d = {'a': 1, 'b': 2, 'e': 9, 'c': 5, 'd': 7}

# 按 key 排序
sorted(d.items(), key=lambda t: t[0])
# 按 key 倒序
sorted(d.items(), key=lambda t: t[0], reverse=True)

# 按 value 排序
sorted(d.items(), key=lambda t: t[1])
Nach dem Login kopieren

Es gibt eine weitere Anforderung, auf die ich während des Entwicklungsprozesses häufig stoße, nämlich eine Liste und die Elemente davon zu haben Liste sind Wörterbücher, und dann sortieren Sie die Liste nach Wörterbuchwert.

l = [{'name': 'a', 'count': 4}, {'name': 'b', 'count': 1}, {'name': 'd', 'count': 2}, {'name': 'c', 'count': 6}]
sorted(l, key=lambda e: e.__getitem__('count'))
# 倒序
sorted(l, key=lambda e: e.__getitem__('count'), reverse=True)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDer von mir geschriebene Python-Code wurde von meinen Kollegen gelobt.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage