{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reduce Fonksiyonu\n", "\n", "Bu konuda bir diğer gömülü fonksiyonumuz olan reduce fonksiyonunu öğrenmeye çalışacağız.\n", "\n", " reduce(function, iterasyon yapılabilen veritipi(liste vb.))\n", " \n", "***reduce() fonksiyonu*** değer olarak aldığı fonksiyonu soldan başlayarak listenin ilk 2 elemanına uygular ve daha sonra çıkan sonucu listenin 3. elemanına uygular ve bu şekilde devam ederek liste bitince bir tane değer döner. Anlamak için örneğimize ve görselimize bakalım.\n", "\n", " " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from functools import reduce # reduce fonksiyonu son sürümlerde functools modülüne taşındı." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "60" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reduce(lambda x,y : x + y , [12,18,20,10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Burada sonuç neden 60 çıkıyor bakalım. İlk önce 12 ve 18 değeri fonksiyona argüman olarak gidiyor ve toplanarak sonuç 30 çıkıyor. Daha sonra 30 değeriyle bir sonraki eleman olan 20 değeri toplanıyor ve sonuç 50 çıkıyor. En son 50 değeriyle listenin en son elemanı olan 10 değeri toplanıyor ve liste bittiği için sonuç **60** çıkıyor. Bunu aşağıdaki resimde görebiliriz." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkI\nCQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQ\nEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAIJArMDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7e8M+\nGYf2lYZfiD8QZ7y48DXFzNH4Y8MR3Lw2d1Zxu0Yv74RkfajPtMkcUhMUcTR/IZCzDoP+GTv2We/7\nNXwrJ9T4O04k/iYaP2Tv+TWfg4e58AeHifcnToCTXqtAHlX/AAyd+yx/0bT8Kv8AwjdO/wDjNH/D\nJ37LH/RtPwq/8I3Tv/jNeq0UAeVf8Mnfssf9G0/Cr/wjdO/+M0f8Mnfssf8ARtPwq/8ACN07/wCM\n16rRQB5V/wAMnfssf9G0/Cr/AMI3Tv8A4zR/wyd+yx/0bT8Kv/CN07/4zXqtFAHlX/DJ37LH/RtP\nwq/8I3Tv/jNH/DJ37LH/AEbT8Kv/AAjdO/8AjNeq0UAeVf8ADJ37LH/RtPwq/wDCN07/AOM0f8Mn\n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\n1WiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8q+Df8AyUX47f8A\nZQLP/wBRXQa9Vryr4N/8lF+O3/ZQLP8A9RXQaAPVaKKKACiiigAooooAKKKKACiiigDyrxH/AMnT\n/Dz/ALJ/4y/9OPhyvVa8q8R/8nT/AA8/7J/4y/8ATj4cr1WgAooooAKKKKACiiigAooooAKKKKAC\niiigAooooAKKKKACiiigAooooAK8q/ZO/wCTWPg3/wBk/wDD3/pugr1WvKv2Tv8Ak1j4N/8AZP8A\nw9/6boKAPVaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK\nKKACiiigAryrxH/ydP8ADz/sn/jL/wBOPhyvVa8q8R/8nT/Dz/sn/jL/ANOPhygD1WiiigAooooA\nKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8q+Df8AyUX47f8AZQLP/wBRXQa9\nVryr4N/8lF+O3/ZQLP8A9RXQaAPVaKKKACiiigAooooAKKKKACiiigDyrxH/AMnT/Dz/ALJ/4y/9\nOPhyvVa8q8R/8nT/AA8/7J/4y/8ATj4cr1WgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK\nKKACiiigAooooAK8q/ZO/wCTWPg3/wBk/wDD3/pugr1WvKv2Tv8Ak1j4N/8AZP8Aw9/6boKAPVaK\nKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryr\nxH/ydP8ADz/sn/jL/wBOPhyvVa5Tx18J/hZ8UPsP/CzPhp4U8W/2Z5v2L+3dGtr/AOy+Zt8zyvOR\ntm7y03bcZ2LnoKAOroryr/hk79lj/o2n4Vf+Ebp3/wAZo/4ZO/ZY/wCjafhV/wCEbp3/AMZoA9Vo\nryr/AIZO/ZY/6Np+FX/hG6d/8Zo/4ZO/ZY/6Np+FX/hG6d/8ZoA9Voryr/hk79lj/o2n4Vf+Ebp3\n/wAZo/4ZO/ZY/wCjafhV/wCEbp3/AMZoA9Voryr/AIZO/ZY/6Np+FX/hG6d/8Zo/ZO/5NY+Df/ZP\n/D3/AKboKAPVaK+dfCHwQ+C/xK+LXxx134jfCHwV4q1KDxxZWkV5regWl9PHAvhfQ2WJZJo2YIGd\n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\npFFvmljQF3VdzjnmvVaACiiigDyrxH/ydP8ADz/sn/jL/wBOPhyvVa8q8R/8nT/Dz/sn/jL/ANOP\nhyvVaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryr9k7/k1j4N/wDZ\nP/D3/pugr1WvKv2Tv+TWPg3/ANk/8Pf+m6CgD1WiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPKv2lv+SdaR/2UDwJ/6lWl16rXzX+1\nX8e/g74fitPhb4k8f6Xoniax8VeBdckstVZrJXsB4n093uIpZgsUyIkEzOY3bYInL7Qpx7T8M/il\n4E+MXhdfGvw313+2dCkuri0hv0tZoYp5IZDHIYjKi+agdWXzEyhKnDHBoA6uiiigDyrxH/ydP8PP\n+yf+Mv8A04+HK9Vr5I8Wftgfs02Xx78O+NNR+L2jWOneFfCHjXSNZjvBLb3tnfLqegL9mazkQXJl\nYwT7UEZLiGQqGCMR9YWN5DqNjb6hbLMsV1Ek0YmheGQKwBG6NwHRsHlWAYHggGgCeiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryr9k7/k1j4N/9k/8AD3/pugr1WvKv2Tv+\nTWPg3/2T/wAPf+m6CgD1WiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKAPj7/AIKK/sW6h+1h4V8J3vgkWtv4u8PavDbG4mZUVtKuZES5\n3ZI3eT8s4Gc7UlVAWkAP1B8PPAnhz4X+BdB+HfhG0+zaP4d0+HTrOM4LeXGoUMx/idsFmbqWJJ5N\ndDRQAUUUUAfDvxR/4J5aZ48/bw8L/tBrZWv/AAhbwf214ktCyjzdZtCi26+XnlJsxSP8pU/Z595B\nlXP3FRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeVfsnf8msfBv/\nALJ/4e/9N0Feq15V+yd/yax8G/8Asn/h7/03QUAeq0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU\nUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ\nAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVm+JPEeh+D/D2peK/E2pQ6fpGj2kt9fXcxOyCCNS7\nucc4CgnjmgDSorx3TNN+OfxUt08S6h44vvhXot4ol0/RtK0yyudZWE8q97cXsU8EcjDBMEcH7v7p\nkc5xd/4U38Rf+jsfir/4LfCv/wApqAPVaK8q/wCFN/EX/o7H4q/+C3wr/wDKaj/hTfxF/wCjsfir\n/wCC3wr/APKagD1WivKv+FN/EX/o7H4q/wDgt8K//Kaj/hTfxF/6Ox+Kv/gt8K//ACmoA9Voryr/\nAIU38Rf+jsfir/4LfCv/AMpqP+FN/EX/AKOx+Kv/AILfCv8A8pqAPVaK8q/4U38Rf+jsfir/AOC3\nwr/8pqP+FN/EX/o7H4q/+C3wr/8AKagD1WivKv8AhTfxF/6Ox+Kv/gt8K/8Aymo/4U38Rf8Ao7H4\nq/8Agt8K/wDymoA9Voryr/hTfxF/6Ox+Kv8A4LfCv/ympD8HfiSg3Q/tX/E9nHKibS/C7Rk/7QXS\nFYj6MD7igD1aivK/DXjXxz4M8Yab8N/i/dabqR18yp4c8T2FsbSLUJ40aR7G5tyziG6ESSSKyMY5\nVjlIWMpsPqlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5V+yd/wAmsfBv/sn/AIe/9N0F\neq15V+yd/wAmsfBv/sn/AIe/9N0FAHqtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR\nQAUUUUAFFFFABRRRQAUUUUAFeU/tNqJvhfaWMg3Qaj4z8G6dcoeklvceJNOhmjPs0cjqfZjXq1eV\nftLf8k60j/soHgT/ANSrS6APVaKKKACiiigAooooAKKKKACiiigAooooAKKKKAPKf2klEXgjw7qS\nDFzZfEHwWYJB1j87xDYW0mP96GeVD7Oa9Wryr9pb/knWkf8AZQPAn/qVaXXqtABRRRQAUUUUAFFF\nFABRRRQAUUUUAFFFFABRRRQAV5V+yd/yax8G/wDsn/h7/wBN0Feq15V+yd/yax8G/wDsn/h7/wBN\n0FAHqtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeV\nftLf8k60j/soHgT/ANSrS69Vryr9pb/knWkf9lA8Cf8AqVaXQB6rRRRQAUUUUAFFFFAH5vfHX4g6\nL4j+NPj7WPGfxN/ay0Dw74a1n+xZrz4VyXMXhzQ7S2tYGludQk8tlDmSWZmMW9gkY3KDjd9AfEXR\ntc+P/wATNE+C3hf44+N/CPhHRfCFt4mvdX8JamtnqurS3EphtM3hRiI9kUruAvzl1zjAqH4i6n+3\nJY6p4t+F3hv4U+FvHXh7xTNcRaJ41vPEFvp6aFY3KbfJvrARiS5MBL4MPLpsyS26jxH8NPjd+z7q\nXg3xl+z98OtN+JiaZ4QtPBWuaBcazFo93OlsS9veQ3U+YgFZpQ0bDJDrjpwAeh/sx674ql8N+Jfh\n9418VXHifVvh74iufDh1q6QLcX9sqRzW8k+OGmEUyK7j7zIW717JXk37OHgXx34S8Javr/xTg0u2\n8Y+NdauPEWsWemsXt7F5VRI7VZMnzTHFFGrOOGYMRxyfWaACiiigAooooA8q/aW/5J1pH/ZQPAn/\nAKlWl16rXlX7S3/JOtI/7KB4E/8AUq0uvVaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAry\nr9k7/k1j4N/9k/8AD3/pugr1WvKv2Tv+TWPg3/2T/wAPf+m6CgD1WiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvKv2lv+SdaR/wBlA8Cf+pVpdeq15T+0\nwQvw20yZjhIfHfgeaRj0WNPFGmM7H2Cgkn0FAHq1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA\nHlX7S3/JOtI/7KB4E/8AUq0uvVa8p/aVIb4f6JADmSX4geB9i922+J9NdsfREZj7Ka9WoAKKKKAC\niiigAooooAKKKKACiiigAooooAKKKKACvKv2Tv8Ak1j4N/8AZP8Aw9/6boK9Vryr9k7/AJNY+Df/\nAGT/AMPf+m6CgD1WiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK\nKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo\noAKKKKACsLx14M0T4ieDtY8D+IkmOna1aSWk7QSGOaMMOJI3HKSIcMrDlWUHtW7RQB47pnxW8bfD\nq3Tw38Z/A3ibU57JRHH4p8LaDc6vZaqg4WVrWzWS6tZiADJGYjGGJ2SOOl3/AIaW+HX/AELnxV/8\nNP4q/wDldXqtFAHlX/DS3w6/6Fz4q/8Ahp/FX/yuo/4aW+HX/QufFX/w0/ir/wCV1eq0UAeVf8NL\nfDr/AKFz4q/+Gn8Vf/K6j/hpb4df9C58Vf8Aw0/ir/5XV6rRQB5V/wANLfDr/oXPir/4afxV/wDK\n6qll+1Z8JdRub+z0/T/iVdXGl3AtL6KH4W+KHe1nMUcwilUaflHMU0UgVsHZIjdGBPsFeVfBv/ko\nvx2/7KBZ/wDqK6DQAf8ADS3w6/6Fz4q/+Gn8Vf8Ayuo/4aW+HX/QufFX/wANP4q/+V1eq0UAeVf8\nNLfDr/oXPir/AOGn8Vf/ACuo/wCGlvh1/wBC58Vf/DT+Kv8A5XV6rRQB5V/w0t8Ov+hc+Kv/AIaf\nxV/8rqQ/tK/D9hiDwt8VZZD91P8AhVXidNx9Nz2CqPqxA969WooA8g0vS/GPxh8Y6J4y8ZeFr3wr\n4S8K3Lahoui6g6f2jqWo7GjS8u0jZkhhjSSQxQli5dhJIIzGiV6/RRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAUUUUAFeVfsnf8msfBv8A7J/4e/8ATdBXqteVfsnf8msfBv8A7J/4e/8ATdBQB6rR\nRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\nFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAV5V8G/8Akovx2/7KBZ/+oroNeq15V8G/+Si/Hb/soFn/AOoroNAHqtFFFABRRRQA\nUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5V+yd/yax8G/wDsn/h7/wBN0Feq\n15V+yd/yax8G/wDsn/h7/wBN0FAHqtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\nUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXn/in9nr4BeOdduvFPjX4H/D/AMQa1e7P\ntOo6p4Zsru6n2IqJvlkjZ22oiqMnhVAHAFegUUAeVf8ADJ37LH/RtPwq/wDCN07/AOM0f8Mnfssf\n9G0/Cr/wjdO/+M16rRQB5V/wyd+yx/0bT8Kv/CN07/4zR/wyd+yx/wBG0/Cr/wAI3Tv/AIzXqtFA\nHlX/AAyd+yx/0bT8Kv8AwjdO/wDjNH/DJ37LH/RtPwq/8I3Tv/jNeq0UAeVf8Mnfssf9G0/Cr/wj\ndO/+M0f8Mnfssf8ARtPwq/8ACN07/wCM16rRQB5V/wAMnfssf9G0/Cr/AMI3Tv8A4zR/wyd+yx/0\nbT8Kv/CN07/4zXqtFAHlX/DJ37LH/RtPwq/8I3Tv/jNH/DJ37LH/AEbT8Kv/AAjdO/8AjNeq0UAe\nVf8ADJ37LH/RtPwq/wDCN07/AOM0f8Mnfssf9G0/Cr/wjdO/+M16rRQB5V/wyd+yx/0bT8Kv/CN0\n7/4zR/wyd+yx/wBG0/Cr/wAI3Tv/AIzXqtFAHlX/AAyd+yx/0bT8Kv8AwjdO/wDjNH/DJ37LH/Rt\nPwq/8I3Tv/jNeq0UAeVf8Mnfssf9G0/Cr/wjdO/+M1k/s5eE/CvgbxR8bPC3grwzpXh/RbL4gW32\nbTtLso7S1g3+GNDd9kUYVF3O7McDlmJPJNe115V8G/8Akovx2/7KBZ/+oroNAHqtFFFABXlX7J3/\nACax8G/+yf8Ah7/03QV6rXlX7J3/ACax8G/+yf8Ah7/03QUAeq0UUUAFFFFABRRRQAUUUUAFFFFA\nBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\nFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO/ETwF4b+KXgXXvh14vshdaN4isJtPvI+Nw\nSRSNyE/ddThlbqrKpHIr84/2BP2YfjIn7S/jrV/j54m1/XdM+EOtNa6XHqd5NNbX2ttaRQwXyJIz\nA+XpyWxUkblWS1wRsAH6fUUAFFFFAHzz+3L8Etf+MfwPvr34eXt/pvxD8FO3iHwnqGmzPBeR3cSM\nJIIpIyHBmiLxgBgN5jJ+7Xlf/BLD4I+IPBnwPtfjD8Rby/1DxR43sbWDTn1CZ5pNP8O2y7LC1jLk\n7I2XMoVSF2NAMDZX21RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF\nFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU\nUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ\nAUUVkeLfFvh3wL4dvfFnizVI9P0rT0D3Fw6s2MsFVVVQWd2ZlVUUFmZlVQSQKANeivJbf4hfH/xF\nGNR8I/ATRrHTpOYB4x8YPpV7InZzb2ljeiPI52u6uM4ZVOVEv/CR/tT/APRG/hV/4cvUf/lFQB6r\nRXlX/CR/tT/9Eb+FX/hy9R/+UVH/AAkf7U//AERv4Vf+HL1H/wCUVAHqtFeVf8JH+1P/ANEb+FX/\nAIcvUf8A5RUf8JH+1P8A9Eb+FX/hy9R/+UVAHqtFeVf8JH+1P/0Rv4Vf+HL1H/5RUf8ACR/tT/8A\nRG/hV/4cvUf/AJRUAeq0V5V/wkf7U/8A0Rv4Vf8Ahy9R/wDlFR/wkf7U/wD0Rv4Vf+HL1H/5RUAe\nq0V5V/wkf7U//RG/hV/4cvUf/lFR/wAJH+1P/wBEb+FX/hy9R/8AlFQB6rRXlX/CR/tT/wDRG/hV\n/wCHL1H/AOUVMl8aftKaWhvdW+A/g/ULaMbng8PeP5bq+cekcd5ptpCx9A06D3FAHrFFc34C8f8A\nh34jaG2t+HZbhfs9w9lfWd3A0F3p92gHmW1xE3zRyruXIPBDKyllZWPSUAFFFFABRRRQAUUUUAFF\nFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU\nUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ\nAUUUUAFFFFABRRRQAV5L8QrePxH8f/hb4R1EeZp1jpniDxiID9yS9sX060tyw6NsGqzSLno6Iw5V\nSPWq8q8R/wDJ0/w8/wCyf+Mv/Tj4coA9VooooAKKKKACiiigAooooAKKKKACiiigAooooA8llt4/\nDv7U9gNNHlR+OfA2pXeqRrwslxpN7p8VvKR03mPVpULdSscYOQi49aryrxH/AMnT/Dz/ALJ/4y/9\nOPhyvVaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8q8R/wDJ0/w8/wCyf+Mv/Tj4cr1WvKvE\nf/J0/wAPP+yf+Mv/AE4+HKAPVaKKKACiiigArC8deMdG+HngvXfHfiKcQ6Z4f0+41K7ckDEUUZdu\nTxnAxW7Xnf7RHgvWviJ8C/Hfgjw4zjVdZ0K7tbIIwUtMYzsXLAgZIA5GOeaAPMfhZ4//AG3fEXiX\nQvFnj74S/Dmy+HfiUhhpWm6rc/8ACSaFBKu6Ka7abbaz7cASRxYf94CoyhU5Xjb47/tTaj4j8XeK\nPgj8OfAOrfDj4d302n6tFrN9dJreuS2qB7sad5X7iLbkxr5/3nQnoRXz54Hk/Zo1L4z+Brj9mmH4\nlf8AC/l1yyj8cS6m2sm4t9PRQNSTWTdH7MI8IECxDb5ohCAKBj0q5/aK8Dfs5WvxM/Z98b6N4n/4\nTnXde1m+8IaVbaRPcN4ni1ORngNpLGpiGHkMbeYybSh69KAPszwt4i07xf4a0nxXo7l7HWbKC/tm\nI5MUqB1z74YVqVxfwV8JXvgL4QeC/BepKVvNE0GxsbhSQSsscKq4yODhgRxXaUAFFFFABRRRQB5V\n4j/5On+Hn/ZP/GX/AKcfDleq15V4j/5On+Hn/ZP/ABl/6cfDleq0AFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\nFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAV5V4j/5On+Hn/ZP/ABl/6cfDleq15V4j/wCTp/h5/wBk/wDGX/px8OUAeq0UUUAF\nFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeVeI/+Tp/h5/2T/xl/wCnHw5XqteVeI/+Tp/h5/2T/wAZ\nf+nHw5XqtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\nFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeXfGHSdf0nXvCfxi8L6RdaxdeDmvLT\nVNLs4zJdXujXqxi5W3Qffmjlt7ScJ1cQOi/M616jRQBz3gv4g+CPiNpK654G8U6brdmSVZ7OdXMT\ng4ZJE+9G6kEMjgMpBBAIIroa/DT/AIKzf8nJXn/XNP8A0AV8RUAf1UUV/KvRQB/VRRX8q9FAH9VF\nFfyr0UAf1UUV/KvRQB/VRRX8q9FAH9VFZfiTxT4Z8HaTPr/i7xDpuiaZbKXmvNRu47eCNRySzuQo\n/Ov5a6+iP2CP+TlvCf8A1+xf+higD9w/h0b74mfE28+Nr2F1ZeHLLRm8O+E1vIHhnvYJpo57zUDG\n4DJDM0FokQYBmW3aTG2RK9doooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//Z\n", "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image(filename='reduce.jpg')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Birkaç örnek daha yapalım." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "120" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Bakın 5'in faktöriyelini bulduk.\n", "reduce(lambda x,y : x * y , [1,2,3,4,5])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "600" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reduce(lambda x,y : x * y , [3,4,5,10])" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# max fonksiyonu()\n", "max([1,2,3,4,5,6])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# reduce ile max fonksiyonu\n", "def maksimum(x,y):\n", " if (x > y):\n", " return x\n", " else:\n", " return y\n", "\n", "reduce(maksimum, [-2,1,100,35,32])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "İşte reduce fonksiyonu tamamıyla bu kadar! Bir sonraki derste başka bir gömülü fonksiyonu öğrenmeye başlayacağız." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }