Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der integrierten Funktionen und Rekursion in den Python-Grundlagen

Detaillierte Erläuterung der integrierten Funktionen und Rekursion in den Python-Grundlagen

PHP中文网
PHP中文网Original
2017-06-21 13:18:411631Durchsuche

1. Integrierte Funktionen

Hier einige kurz vorgestellt:

1.abs() Finden Sie den Absolutwert

2. all() Wenn alle Elemente von iterable wahr sind (oder wenn das Iterable leer ist), geben Sie <span class="pre">True</span>

3.any() zurück, wenn iterable Wenn ein Element von wahr ist, wird <span class="pre">True</span> zurückgegeben. Wenn das Iterable leer ist, geben Sie <span class="pre">False</span>

4.callable() zurück. Wenn der Parameter object anpassbar erscheint, geben Sie <span class="pre">True</span>True<span class="pre">False</span>, andernfalls <br>False

zurückgeben <span class="pre">(a<span class="pre">//<span class="pre">b,<span class="pre">a<span class="pre">%<span class="pre">b)</span></span></span></span></span></span><span class="pre">(q,<span class="pre">a<span class="pre">%<span class="pre">b)</span></span></span></span>5.divmod() nimmt zwei (nicht komplexe) Zahlen als Argumente und gibt bei Verwendung einer Ganzzahldivision ein Zahlenpaar zurück, das aus dem Quotienten und dem Rest besteht. Für gemischte Operandentypen gelten die Regeln für binäre Rechenoperatoren. Für ganze Zahlen ist das Ergebnis dasselbe wie <em>(a</em>//<code class="docutils literal"><span class="pre">math.floor(a<span class="pre">/<span class="pre">b)</span></span></span>b,a

%

b)

Gleiches. Für Gleitkommazahlen ist das Ergebnis

(q,

a%b)

code> , wobei

q

normalerweise <span class="pre">math.floor(a</span>/

b)

ist code> , kann aber kleiner als 1 sein

l=[1,2,4,9,-1]print(sorted(l)) #从小到大print(sorted(l,reverse=True)) #从大到小
6. Der Parameter enumerate() muss ein iterierbares Objekt sein. Das Ergebnis der Funktionsoperation erhält einen Iterator, Ausgabeelemente und entsprechende Indexwerte ​​

7.eval() Extrahieren Sie die Elemente aus der Zeichenfolge und führen Sie sie aus

8.frozenset() Unveränderliche Sammlung, die Sammlung definiert by Frozenset() kann keine Elemente hinzufügen oder löschen

9.globals() Gibt ein Wörterbuch zurück, das die aktuelle globale Symboltabelle darstellt. Dies ist immer ein Wörterbuch des aktuellen Moduls (innerhalb einer Funktion oder Methode ist dies das Modul, in dem es definiert ist, nicht das Modul, von dem es aufgerufen wird)

10.round( ) auf den Argumenten Rundung

11.sorted() Sortieren ohne Änderung der Originalliste

12 .zip() Die Zipper-Funktion

l=[1,2,3,4]
m=map(lambda x:x**2,l)print(list(m))        ----->[1, 4, 9, 16]
erstellt einen Iterator und aggregiert die Elemente aus jedem Iterator.

Gibt einen Iterator von Tupeln zurück, wobei das i-te Tupel das

i
te Element aus jeder Argumentsequenz oder Iteration enthält. Der Iterator stoppt, wenn die kürzeste iterierbare Eingabemenge erschöpft ist. Unter Verwendung eines einzelnen iterierbaren Arguments wird ein Iterator von 1-Tupeln zurückgegeben. Ohne Argumente wird ein leerer Iterator zurückgegeben.
from functools import reduce

res=0for i in range(100):
    res+=iprint(res)
13.max()

Gibt das maximale Element des Iterables oder das größte von zwei oder mehr Argumenten zurück.
names=['alex_sb','yuanhao_sb','wupeiqi_sb','egon']print(list(filter(lambda name:name.endswith('_sb'),names)))--->['alex_sb', 'yuanhao_sb', 'wupeiqi_sb']
Wenn ein Positionsargument bereitgestellt wird, sollte es iterierbar sein. Gibt das größte Element in der Iteration zurück. Wenn zwei oder mehr Positionsargumente angegeben werden, wird das größte Positionsargument zurückgegeben.

max() kann den Schlüssel angeben (d. h. den zu vergleichenden Teil angeben)

14.map()-Mapping

gibt einen Iterator zurück, der Funktion Jedes Element von
def func(x):return x**2print(func(2))lambda x:x**2        #上边的函数就可以直接写成这种形式
bis
iterable

erzeugt das Ergebnis

15.reduce() merges

16.filter() filtert und behält Elemente bei, deren boolescher Wert True ist

Eine detaillierte Einführung in die integrierten Funktionen finden Sie unter Bitte beachten Sie Folgendes:

2. Anonyme Funktionen (Lambda-Ausdrücke)

# 1 文件内容如下,标题为:姓名,性别,年纪,薪资#
# egon male 18 3000# alex male 38 30000# wupeiqi female 28 20000# yuanhao female 28 10000#
# 要求:# 从文件中取出每一条记录放入列表中,# 列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}的形式#
# 2 根据1得到的列表,取出薪资最高的人的信息# 3 根据1到的列表,取出最年轻的人的信息# 4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式# 5 根据1得到的列表,过滤掉名字以a开头的人的信息# 6 使用递归打印斐波那契数列(前两个数的和得到第三个数)#     0 1 1 2 3 4 7...with open('b.txt',encoding='utf-8')as f:

l=[{'name': line.split()[0], 'sex': line.split()[1], 'age': line.split()[2], 'salary': line.split()[3]} \for line in f]#2.print(max(l,key=lambda i:i['salary']))#3.print(min(l,key=lambda i:i['age']))#4.m=map(lambda x:x['name'].capitalize(),l)print(list(m))#5.print(list(filter(lambda x:not(x['name'].startswith('a')),l)))#6.def f(n):if n==0:return 0elif n==1:return 1else:if n==1000:return f(1000)else:return f(n-2)+f(n-1)for i in range(150):print(f(i))
Lambda-Funktionen haben ihre eigenen Rückgabewerte Anonyme Funktionen können nur einige sehr einfache Funktionen ersetzen. Sie werden hauptsächlich in Verbindung mit anderen Funktionen verwendet. Es gibt auch Situationen, in denen einige Funktionen nur einmal definiert und verwendet werden und dann nicht mehr benötigt werden In diesem Fall kann eine anonyme Funktion verwendet werden. 3. Rekursion Beim Aufrufen einer Funktion wird die Funktion selbst direkt oder indirekt verwendet Die rekursive Effizienz ist sehr gering und muss bei der Eingabe der nächsten Rekursion verwendet werden. Behalten Sie den aktuellen Status bei. Im Gegensatz zu anderen Sprachen verfügt Python nicht über eine Schwanzrekursion, aber Python unterliegt Einschränkungen und erlaubt Benutzern dies nicht unendlich rekursiv Merkmale der Rekursion: 1. Es muss eine klare Endbedingung geben 2. Jedes Mal, wenn Sie eine tiefere Rekursionsebene betreten, sollte die Problemgröße sein reduziert im Vergleich zur letzten Rekursion 3. Die Rekursionseffizienz ist nicht hoch und zu viele Rekursionsebenen führen zu einem Stapelüberlauf Beispiel:

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der integrierten Funktionen und Rekursion in den Python-Grundlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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