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.
Diese Methode ist etwas interessant, ich habe sie zufällig entdeckt.
>>> s = "programming is awesome" >>> print(s.title()) Programming Is Awesome
Der erste Weg: Verwenden Sie +.
>>> a + b [1, 2, 3, 4, 5, 6]
Der zweite Weg: Verwenden Sie das Schlüsselwort „extend“.
>>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6]
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.
Verwenden Sie set(), um Listenelemente zu deduplizieren.
>>> a = [1, 2, 3, 4, 2, 3] >>> list(set(a)) [1, 2, 3, 4]
Verwenden Sie sort() oder die integrierte Funktion sorted(), um die Liste zu sortieren. Es gibt zwei Unterschiede zwischen ihnen:
# 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]
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
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
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
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})
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}
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()
# 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))
m = {'a': 1} n = {'b': 2, 'c': 3} # 合并,两种方式 # 1、使用 update m.update(n) # 2、使用 ** {**m, **n}
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')
d = {'a': 1, 'b': 2} # 1、直接用 key 取值,但这种方式不好,如果 key 不存在会报错,推荐使用 get a = d['a'] # 2、使用 get,如果 key 不存在还可以赋默认值 a = d.get('a') c = d.get('c', 3)
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
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}
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])
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)
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!