Introduction aux fonctions intégrées dans python3

零下一度
Libérer: 2017-07-23 11:29:38
original
1142 Les gens l'ont consulté

Dans python3, filtrer, mapper et réduire ne sont plus des fonctions intégrées, c'est-à-dire . 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
Copier après la connexion

 

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
Copier après la connexion

 

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
Copier après la connexion

 

4.hex(x)

Convertir un nombre en hexadécimal

>>> hex(23)
'0x17'
Copier après la connexion

 

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) 是一个可迭代对象,而不是一个迭代器
Copier après la connexion

 

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]
Copier après la connexion

 

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]
Copier après la connexion

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)]
Copier après la connexion

 

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]
Copier après la connexion

 

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!