Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in integrierte Funktionen in Python3

Einführung in integrierte Funktionen in Python3

零下一度
零下一度Original
2017-07-23 11:29:381117Durchsuche

In Python3 sind Filter, Map und Reduce keine integrierten Funktionen mehr, d. h. 94c93e051ce796aa5e29779b2cb8a767. In Python3 sind die drei Klassen und das Rückgabeergebnis wird zu einem iterierbaren Objekt

1.filter(function,iterable)

Verwenden Sie die Funktionsfilterbedingung, um die gewünschten Daten in iterable abzurufen.

from collections import Iterator
test_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
f = filter(lambda x: x % 3 == 0, test_list)
# filter 得到的是一个迭代器

print(isinstance(f, Iterator))
f.__next__()

for i in f:
    print(i)

#输出

True
6
9

 

2.map(function, iterable)

Akzeptiert eine Funktion und ein iterierbares Objekt (z. B. eine Liste usw.) und wendet die Funktion nacheinander auf jedes Element der Sequenz an, um einen neuen Iterator zu bilden.

from collections import Iterator


def f(x):
    return 2 * x  # 定义一个函数

t_list = [1, 2, 3, 4, 5]

function = map(f, t_list)

print(isinstance(function, Iterator))
# print(function.__next__())
function.__next__()
for i in function:
    print(i)

#输出
True
4
6
8
10

 

3.reduce(function,iterable)

reduce wendet eine Funktion auf eine iterierbare Sequenz an. Diese Funktion muss With two erhalten Parameter, Reduce setzt das Ergebnis fort und führt kumulative Berechnungen mit dem nächsten Element der Sequenz durch

Die Reduce-Funktion ist nicht mehr in Python3 integriert, sondern befindet sich im Functools-Modul, wenn Sie sie verwenden müssen it, Muss aus dem Functools-Modul importiert werden

from functools import reduce

f = reduce(lambda x, y: x*y, [1, 2, 4])

print(f)

#输出
8

 

4.hex(x)

Konvertieren Sie eine Zahl in eine Hexadezimalzahl

>>> hex(23)
'0x17'

 

5.range(stop), range(start,stop,[step])

Erzeuge ein iterierbares Objekt

>>> from collections import Iterator
>>> isinstance(range(5),Iterator)
False
>>> from collections import Iterable
>>> isinstance(range(5),Iterable)
True

>>> f.__next__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: &#39;range&#39; object has no attribute &#39;__next__&#39;
>>> for i in f:
...     print(i)
...
0
1
2
3
4

# range(x) 是一个可迭代对象,而不是一个迭代器

 

6. isinstance(object, classinfo)

Bestimmen Sie, ob eine Sequenz ein iterierbares Objekt oder ein Iterator ist

7.list([iterable])

Konvertieren Sie andere Sequenzen in eine Liste

>>> list((1,2,3,4,5))   #把一个元组转换为一个列表
[1, 2, 3, 4, 5]

 

8 .repr( Objekt)

Konvertieren Sie den Code in ein String-Objekt.

9 .slice (Stopp),Slice(Start, Stopp[, Schritt])

Sequenzausschnitt

>>> a = [1,2,3,4,5,6]
>>> a[slice(1,3)]
[2, 3]
>>> a[1:3]
[2, 3]

10.sorted(iterable[, key][, reverse])

>>> sorted([5,3,2,6,8])
[2, 3, 5, 6, 8]
>>> a = {1:5,6:8,3:6}
>>> sorted(a)  #默认是按key排序
[1, 3, 6]
>>> sorted(a.items())  #按key排序
[(1, 5), (3, 6), (6, 8)]
>>> sorted(a.items(),key = lambda x:x[1])  #按value排序
[(1, 5), (3, 6), (6, 8)]

 

11.reverse ()

wird verwendet, um die Elemente in der Liste umzukehren. Diese Methode hat keinen Rückgabewert, aber sie kehrt die Elemente der Liste um.

 a = [1,2,4,5,3,7]
 a.reverse()
a
[7, 3, 5, 4, 2, 1]

 

Das obige ist der detaillierte Inhalt vonEinführung in integrierte Funktionen in Python3. 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