{"id":215,"date":"2009-10-28T23:04:00","date_gmt":"2009-10-28T21:04:00","guid":{"rendered":"http:\/\/j-mad.com\/blog\/?p=215"},"modified":"2009-10-28T23:04:00","modified_gmt":"2009-10-28T21:04:00","slug":"le-built-in-any-vous-aussi-vous-allez-aimer-les-sucettes-a-lany-%e2%80%a6","status":"publish","type":"post","link":"https:\/\/j-mad.com\/blog\/2009\/10\/28\/le-built-in-any-vous-aussi-vous-allez-aimer-les-sucettes-a-lany-%e2%80%a6\/","title":{"rendered":"Le built-in any, vous aussi vous allez aimer les sucettes \u00e0 l&#8217;any \u2026."},"content":{"rendered":"<p>J&#8217;ai mis quelques temps \u00e0 le d\u00e9couvrir ce built-in, pour l&#8217;oublier presque aussi vite. Je l&#8217;ai red\u00e9couvert au d\u00e9tour d&#8217;une conversation python au boulot.<\/p>\n<p>A quoi sert-il donc ? En fait &#8216;\u00e0 rien&#8217;, simplement \u00e0 all\u00e9ger l&#8217;\u00e9criture (niveau perf, je ne sais pas si cela change quelque chose, \u00e7a par contre)<\/p>\n<p>any prend un seul param\u00eatre, un iterable et renvoie True d\u00e9s que l&#8217;un des iterables est vrai. Si je cite la doc python, any est \u00e9quivalent \u00e0 une fonction d\u00e9finie comme suit :<\/p>\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\"><span class=\"kw1\">def<\/span> <span class=\"kw2\">any<\/span><span class=\"br0\">&#40;<\/span>iterable<span class=\"br0\">&#41;<\/span>:<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> element <span class=\"kw1\">in<\/span> iterable:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> element:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw2\">True<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw2\">False<\/span><\/div><\/div>\n<p>un petit exemple sur une recherche de sous-chaine dans des chaines :<\/p>\n<p>avant :<\/p>\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\"><span class=\"kw1\">for<\/span> word <span class=\"kw1\">in<\/span> list_words:<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> word.<span class=\"me1\">find<\/span><span class=\"br0\">&#40;<\/span>substring<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">!=<\/span> -<span class=\"nu0\">1<\/span>:<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw2\">True<\/span><br \/>\n<span class=\"kw1\">return<\/span> <span class=\"kw2\">False<\/span><\/div><\/div>\n<p>apr\u00e8s :<\/p>\n<div class=\"codecolorer-container python default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"python codecolorer\"><span class=\"kw1\">return<\/span> <span class=\"kw2\">any<\/span> <span class=\"br0\">&#40;<\/span> word.<span class=\"me1\">find<\/span><span class=\"br0\">&#40;<\/span>substring<span class=\"br0\">&#41;<\/span> <span class=\"sy0\">!=<\/span> -<span class=\"nu0\">1<\/span> <span class=\"kw1\">for<\/span> word <span class=\"kw1\">in<\/span> list_words <span class=\"br0\">&#41;<\/span><\/div><\/div>\n<p>C&#8217;est plus l\u00e9ger, tout le monde sera d&#8217;accord avec moi \u2026<\/p>\n<p>Et puis, vu qu&#8217;on y est, il existe aussi le built-ins all qui prend lui aussi un it\u00e9rable en param\u00e8tre et renvoie True si tout les \u00e9l\u00e9ments de l&#8217;it\u00e9rable sont True.<br \/>\n(note de bas de billet : oui je sais, mes titres de billets sont toujours aussi \u2026 mais j&#8217;assume)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&#8217;ai mis quelques temps \u00e0 le d\u00e9couvrir ce built-in, pour l&#8217;oublier presque aussi vite. Je l&#8217;ai red\u00e9couvert au d\u00e9tour d&#8217;une conversation python au boulot. A quoi sert-il donc ? En fait &#8216;\u00e0 rien&#8217;, simplement \u00e0 all\u00e9ger l&#8217;\u00e9criture (niveau perf, je ne sais pas si cela change quelque chose, \u00e7a par contre) any prend un seul &hellip; <a href=\"https:\/\/j-mad.com\/blog\/2009\/10\/28\/le-built-in-any-vous-aussi-vous-allez-aimer-les-sucettes-a-lany-%e2%80%a6\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Le built-in any, vous aussi vous allez aimer les sucettes \u00e0 l&#8217;any \u2026.<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5],"tags":[98],"class_list":["post-215","post","type-post","status-publish","format-standard","hentry","category-python","tag-python"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p12cdp-3t","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":1,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts\/215\/revisions"}],"predecessor-version":[{"id":217,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts\/215\/revisions\/217"}],"wp:attachment":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/categories?post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/tags?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}