Dieser Artikel bietet Ihnen eine Einführung und Analyse der Python-Methode zum gleichzeitigen Konvertieren und Konvertieren von Daten (mit Beispielen). Sie hat einen gewissen Referenzwert und Freunde in Not können sich darauf beziehen . Ich hoffe, es hilft dir.
1. Anforderungen
Wir müssen eine Konvertierungsfunktion aufrufen (z. B. sum(), min(), max()), aber zuerst müssen wir konvertieren Daten oder Filter
2. Lösung
Es gibt eine sehr elegante Lösung, die Datenkonvertierung und -konvertierung kombiniert: die Verwendung von Generatorausdrücken in Funktionsparametern.
Beispiel 1: Berechnen Sie die Summe der Quadrate:
nums=[1,2,3] s=sum(x*x for x in nums) print(s)
Ergebnis:
14
Beispiel 2: Bestimmen Sie, ob die .py-Datei im angegebenen Verzeichnis
import os filename=os.path.dirname(os.path.abspath(__file__)) files1=os.listdir(filename+"/image") files2=os.listdir(filename) #any表示该iterable只要存在一个满足条件的,欧返回True,否则才返回False if any(name.endswith('.py') for name in files1): print('存在py文件') else: print('不存在py文件') #any表示该iterable只要存在一个满足条件的,欧返回True,否则才返回False if any(name.endswith('.py') for name in files2): print('存在py文件') else: print('不存在py文件')
不存在py文件 存在py文件
marks=[ {'age':18,'money':100}, {'age':19,'money':500}, {'age':17,'money':900}, {'age':20,'money':1000}, ] min_mark=min(m['age'] for m in marks) print(min_mark)
17
3. Analyse
This Diese Lösung demonstriert einige der syntaktischen Feinheiten bei der Übergabe eines Generatorausdrucks als separates Argument an eine Funktion (z. B. keine Wiederverwendung von Symbolen). Beispielsweise bedeuten die folgenden beiden Codezeilen dasselbe:s=sum((x*x for x in nums)) s=sum(x*x for x in nums)
nums=[1,2,3] s=sum([x*x for x in nums]) print(s)
min_mark=min(marks,key=lambda m:m['age'])
Das obige ist der detaillierte Inhalt vonEinführung und Analyse der Python-Methode zum gleichzeitigen Konvertieren und Konvertieren von Daten (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!