Dans python3, filtrer, mapper et réduire ne sont plus des fonctions intégrées, c'est-à-dire
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
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
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
Convertir un nombre en hexadécimal
>>> hex(23) '0x17'
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: 'range' object has no attribute '__next__' >>> for i in f: ... print(i) ... 0 1 2 3 4 # range(x) 是一个可迭代对象,而不是一个迭代器
Déterminer si une séquence est un objet itérable ou un itérateur
Convertir d'autres séquences en liste
>>> list((1,2,3,4,5)) #把一个元组转换为一个列表 [1, 2, 3, 4, 5]
Convertir le code en un objet chaîne C'est inutile Ignorez-le ici
Tranche de séquence
>>> a = [1,2,3,4,5,6] >>> a[slice(1,3)] [2, 3] >>> a[1:3] [2, 3]
>>> 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)]
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!