Maison  >  Article  >  développement back-end  >  Carte

Carte

PHP中文网
PHP中文网original
2017-06-19 10:39:511087parcourir

python3.6

map(func, *iterables) --> map object<br><br>Make an iterator that computes the function using arguments from<br>each of the iterables.  Stops when the shortest iterable is exhausted.<br><br><br>
map(func, *iterables) --> map object
  • func est une fonction anonyme lambda avec une logique simple. La logique complexe doit être personnalisée
  • ;
  • *iterables objets itérables
  • Le résultat obtenu par la fonction map est également un objet itérable, mais il ne peut être itéré qu'une seule fois.


Exemple : la fonction personnalisée simule la carte des fonctions intégrée, la liste augmente et diminue de 1 et des carrés


La carte de fonctions intégrée implémente l'auto-incrémentation, la décrémentation et la mise au carré de 1

li = [1, 2, 3, 4, 5, 6, 7, 8, 9<span style="color: #000000">]
</span><span style="color: #008000">#</span><span style="color: #008000"> 自增1</span>
<span style="color: #0000ff">print</span>(list(map(<span style="color: #0000ff">lambda</span> x: x + 1<span style="color: #000000">, li)))
</span><span style="color: #008000">#</span><span style="color: #008000"> 自减1</span>
<span style="color: #0000ff">print</span>(list(map(<span style="color: #0000ff">lambda</span> x: x - 1<span style="color: #000000">, li)))
</span><span style="color: #008000">#</span><span style="color: #008000"> 平方</span>
<span style="color: #0000ff">print</span><span style="color: #000000">(
    list(
        map(</span><span style="color: #0000ff">lambda</span> x: x ** 2<span style="color: #000000">, li)
    )
)</span>

Implémentation de fonctions personnalisées

li = [1, 2, 3, 4, 5, 6, 7, 8, 9<span style="color: #000000">]


</span><span style="color: #008000">#</span><span style="color: #008000"> 自增1</span>
<span style="color: #0000ff">def</span><span style="color: #000000"> add1(x):
    </span><span style="color: #0000ff">return</span> x + 1


<span style="color: #008000">#</span><span style="color: #008000"> 自减1</span>
<span style="color: #0000ff">def</span><span style="color: #000000"> red1(x):
    </span><span style="color: #0000ff">return</span> x - 1


<span style="color: #008000">#</span><span style="color: #008000"> 平方</span>
<span style="color: #0000ff">def</span><span style="color: #000000"> square(x):
    </span><span style="color: #0000ff">return</span> x ** 2


<span style="color: #0000ff">def</span><span style="color: #000000"> map_test(func, l):
    tl </span>=<span style="color: #000000"> []
    </span><span style="color: #0000ff">for</span> i <span style="color: #0000ff">in</span><span style="color: #000000"> l:
        tl.append(func(i))
    </span><span style="color: #0000ff">return</span><span style="color: #000000"> tl

</span><span style="color: #008000">#</span><span style="color: #008000"> 调用上面定义的函数</span>
<span style="color: #0000ff">print</span><span style="color: #000000">(map_test(add1, li))
</span><span style="color: #0000ff">print</span><span style="color: #000000">(map_test(red1, li))
</span><span style="color: #0000ff">print</span>(map_test(square, li))

Fonction personnalisée + implémentation de fonction anonyme

li = [1, 2, 3, 4, 5, 6, 7, 8, 9<span style="color: #000000">]

</span><span style="color: #0000ff">def</span><span style="color: #000000"> map_test(func, l):
    tl </span>=<span style="color: #000000"> []
    </span><span style="color: #0000ff">for</span> i <span style="color: #0000ff">in</span><span style="color: #000000"> l:
        tl.append(func(i))
    </span><span style="color: #0000ff">return</span><span style="color: #000000"> tl

</span><span style="color: #0000ff">print</span>(map_test(<span style="color: #0000ff">lambda</span> x: x + 1<span style="color: #000000">, li))
</span><span style="color: #0000ff">print</span>(map_test(<span style="color: #0000ff">lambda</span> x: x - 1<span style="color: #000000">, li))
</span><span style="color: #0000ff">print</span>(map_test(<span style="color: #0000ff">lambda</span> x: x ** 2, li))

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