Maison > Article > développement back-end > Que signifie la carte en python ?
Que signifie la carte en python ?
Le prototype de la fonction map est map(function, iterable, …), et son résultat de retour est une liste.
La fonction paramètre transmet un nom de fonction, qui peut être intégré en python ou personnalisé.
Le paramètre iterable transmet un objet itérable, tel qu'une liste, un tuple ou une chaîne.
Le sens de cette fonction est d'appliquer la fonction à chaque élément de l'itérable, et le résultat est renvoyé sous forme de liste. Avez-vous remarqué qu'il y a une ellipse après itérable, ce qui signifie que vous pouvez passer de nombreux itérables. S'il y a des paramètres itérables supplémentaires, les éléments seront extraits de ces paramètres en parallèle et la fonction sera appelée. Si un paramètre itérable est plus court qu’un autre paramètre itérable, l’élément paramètre sera étendu avec Aucun. Regardons des exemples pour comprendre !
a=(1,2,3,4,5) b=[1,2,3,4,5] c="zhangkang" la=map(str,a) lb=map(str,b) lc=map(str,c) print(la) print(lb) print(lc)
Sortie :
['1', '2', '3', '4', '5'] ['1', '2', '3', '4', '5'] ['z', 'h', 'a', 'n', 'g', 'k', 'a', 'n', 'g']
str() est la fonction intégrée de python. Cet exemple convertit chaque élément de la liste/tuple/chaîne en type str, puis utilise le retour de formulaire de la liste. Bien sûr, nous pouvons également passer une fonction personnalisée, voir l'exemple ci-dessous.
def mul(x): return x*x n=[1,2,3,4,5] res=map(mul,n)
Sortie : [1, 4, 9, 16, 25]
Le résultat obtenu après avoir exécuté la fonction mul une fois sur chaque élément de la liste n est utilisé comme élément du final liste de résultats. Regardons la situation avec plusieurs paramètres itérables.
def add(x,y,z): return x+y+z list1=[1,2,3] list2=[1,2,3] list3=[1,2,3] res=map(add,list1,list2,list3) print(res)
Sortie : [3, 6, 9]
Supprimez des éléments de chacune des trois listes en parallèle, puis exécutez la fonction d'ajout. Certaines personnes peuvent demander si les longueurs des éléments. trois listes sont différentes ? Oui, comme mentionné précédemment, le paramètre court itérable sera rempli avec Aucun. Pour l'exemple ci-dessus, si list3=[1,2], alors ce programme signalera une erreur, car bien que le dernier élément de list3 soit rempli avec None lors de l'exécution de la fonction add, les numéros de type None et int ne peuvent pas être comparés. . En d’autres termes, à moins que la fonction paramètre ne prenne en charge le fonctionnement de None, cela n’a aucun sens. Regardons maintenant un autre exemple et vous comprendrez
def add(x,y,z): return x,y,z list1 = [1,2,3] list2 = [1,2,3,4] list3 = [1,2,3,4,5] res = map(add, list1, list2, list3) print(res)
Résultat :
[(1, 1, 1), (2, 2, 2), (3, 3, 3), (None, 4, 4), (None, None, 5)]
Recommandations associées : "Tutoriel Python"
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!