Maison  >  Article  >  développement back-end  >  Introduction aux fonctions intégrées dans python3

Introduction aux fonctions intégrées dans python3

零下一度
零下一度original
2017-07-23 11:29:381119parcourir

Dans python3, filtrer, mapper et réduire ne sont plus des fonctions intégrées, c'est-à-dire a82c9631bd3e2603199a55eaab8ef5c0. Dans python3, les trois sont des classes et le résultat renvoyé devient un objet itérable.

1.filter(function,iterable)

Utilisez la condition de filtre de fonction pour obtenir les données souhaitées dans iterable.

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(fonction, itérable)

Accepte une fonction et un objet itérable (comme une liste, etc.), et applique la fonction à chaque élément de la séquence tour à tour pour former un nouvel itérateur.

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 applique une fonction à une séquence itérable Cette fonction doit recevoir Avec deux. paramètres, réduire continue le résultat et effectue des calculs cumulatifs avec l'élément suivant de la séquence

La fonction réduire n'est plus intégrée à python3, mais se trouve sous le module functools si vous devez l'utiliser. il, Besoin d'importer depuis le module functools

from functools import reduce

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

print(f)

#输出
8

 

4.hex(x)

Convertir un nombre en hexadécimal

>>> hex(23)
'0x17'

 

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

Générer un objet itérable

>>> 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)

Déterminer si une séquence est un objet itérable ou un itérateur

7.list([iterable])

Convertir d'autres séquences en liste

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

 

8 .repr( objet)

Convertir le code en un objet chaîne C'est inutile Ignorez-le ici

9 .slice. (stop),slice(start, stop[, étape])

Tranche de séquence

>>> 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 ()

est utilisé pour inverser les éléments de la liste. Cette méthode n'a pas de valeur de retour, mais elle inversera les éléments de la liste.

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

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn