1<!DOCTYPE html> 2<html lang="en"><head> 3 <meta charset="utf-8"> 4 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"><!-- Begin Jekyll SEO tag v2.7.1 --> 6<title>Back to basics - Python | Shaikhulâs Blog</title> 7<meta name="generator" content="Jekyll v3.9.0" /> 8<meta property="og:title" content="Back to basics - Python" /> 9<meta property="og:locale" content="en_US" /> 10<meta name="description" content="This is part 1 of back to basics series. Todayâs topic is python. Letâs dive into code! Numbers - int, float, complex ```python year = 2021 type(year) # int pi = 3.14 type(pi) # 3.14" /> 11<meta property="og:description" content="This is part 1 of back to basics series. Todayâs topic is python. Letâs dive into code! Numbers - int, float, complex ```python year = 2021 type(year) # int pi = 3.14 type(pi) # 3.14" /> 12<link rel="canonical" href="/python/2021/01/30/back-to-basics-python.html" /> 13<meta property="og:url" content="/python/2021/01/30/back-to-basics-python.html" /> 14<meta property="og:site_name" content="Shaikhulâs Blog" /> 15<meta property="og:type" content="article" /> 16<meta property="article:published_time" content="2021-01-30T12:50:00+00:00" /> 17<meta name="twitter:card" content="summary" /> 18<meta property="twitter:title" content="Back to basics - Python" />
19<script type="application/ld+json"> 20{"mainEntityOfPage":{"@type":"WebPage","@id":"/python/2021/01/30/back-to-basics-python.html"},"description":"This is part 1 of back to basics series. Todayâs topic is python. Letâs dive into code! Numbers - int, float, complex ```python year = 2021 type(year) # int pi = 3.14 type(pi) # 3.14","url":"/python/2021/01/30/back-to-basics-python.html","@type":"BlogPosting","headline":"Back to basics - Python","dateModified":"2021-01-30T12:50:00+00:00","datePublished":"2021-01-30T12:50:00+00:00","@context":"https://schema.org"}</script>
20 21<!-- End Jekyll SEO tag --> 22<link rel="stylesheet" href="/assets/main.css"><link type="application/atom+xml" rel="alternate" href="/feed.xml" title="Shaikhul's Blog" /></head> 23<body><header class="site-header" role="banner"> 24 25 <div class="wrapper"><a class="site-title" rel="author" href="/">Shaikhul's Blog</a><nav class="site-nav"> 26 <input type="checkbox" id="nav-trigger" class="nav-trigger" /> 27 <label for="nav-trigger"> 28 <span class="menu-icon"> 29 <svg viewBox="0 0 18 15" width="18px" height="15px"> 30 <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/> 31 </svg> 32 </span> 33 </label> 34 35 <div class="trigger"><a class="page-link" href="/resume/">Resume</a></div> 36 </nav></div> 37</header> 38<main class="page-content" aria-label="Content"> 39 <div class="wrapper"> 40 <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> 41 42 <header class="post-header"> 43 <h1 class="post-title p-name" itemprop="name headline">Back to basics - Python</h1> 44 <p class="post-meta"> 45 <time class="dt-published" datetime="2021-01-30T12:50:00+00:00" itemprop="datePublished">Jan 30, 2021 46 </time></p> 47 </header> 48 49 <div class="post-content e-content" itemprop="articleBody"> 50 <p>This is part 1 of back to basics series. Todayâs topic is python. Letâs dive into code!</p> 51<h3 id="numbers---int-float-complex">Numbers - int, float, complex</h3> 52<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">year</span> <span class="o">=</span> <span class="mi">2021</span> 53<span class="nb">type</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> <span class="c1"># int 54</span><span class="n">pi</span> <span class="o">=</span> <span class="mf">3.14</span> 55<span class="nb">type</span><span class="p">(</span><span class="n">pi</span><span class="p">)</span> <span class="c1"># 3.14 56</span> 57<span class="c1"># conversion 58</span><span class="nb">int</span><span class="p">(</span><span class="mf">3.5</span><span class="p">)</span> <span class="c1"># 3 59</span><span class="nb">float</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c1"># 3.0 60</span> 61<span class="c1"># some math op 62</span><span class="n">float_num</span> <span class="o">=</span> <span class="mi">5</span> <span class="o">/</span> <span class="mi">2</span> <span class="c1"># returns a float 63</span><span class="n">floored_div</span> <span class="o">=</span> <span class="mi">5</span> <span class="o">//</span> <span class="mi">2</span> <span class="c1"># returns a int 64</span><span class="n">squared</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">**</span> <span class="mi">2</span> 65<span class="n">mod</span> <span class="o">=</span> <span class="mi">5</span> <span class="o">%</span> <span class="mi">2</span> 66 67<span class="c1"># get divisor and modulas 68</span><span class="n">div</span><span class="p">,</span> <span class="n">mod</span> <span class="o">=</span> <span class="nb">divmod</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> 69 70<span class="n">complex_num</span> <span class="o">=</span> <span class="mi">3</span> <span class="o">+</span> <span class="mf">2j</span> <span class="c1"># (3 + 2j) 71</span><span class="nb">type</span><span class="p">(</span><span class="n">complex_num</span><span class="p">)</span> <span class="c1"># complex 72</span> 73<span class="c1"># some functions 74</span><span class="nb">abs</span><span class="p">(</span><span class="o">-</span><span class="mi">25</span><span class="p">)</span> 75<span class="nb">round</span><span class="p">(</span><span class="mf">2.5</span><span class="p">)</span> 76</code></pre></div></div> 77 78<h3 id="strings-and-bytes">Strings and Bytes</h3> 79<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># string can use single/double or docblock quote 80</span><span class="n">name</span> <span class="o">=</span> <span class="s">"Python"</span> <span class="o">+</span> <span class="s">'Python'</span> <span class="o">+</span> <span class="s">"""Python"""</span> 81<span class="nb">type</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="c1"># str 82</span><span class="n">binary</span> <span class="o">=</span> <span class="sa">b</span><span class="s">"Python"</span> 83<span class="nb">type</span><span class="p">(</span><span class="n">binary</span><span class="p">)</span> <span class="c1"># bytes 84</span><span class="n">name</span> <span class="o">==</span> <span class="n">binary</span> <span class="c1"># false 85</span> 86<span class="c1"># codepoint to str 87</span><span class="nb">chr</span><span class="p">(</span><span class="mi">65</span><span class="p">)</span> <span class="c1"># A 88</span><span class="nb">type</span><span class="p">(</span><span class="nb">chr</span><span class="p">(</span><span class="mi">65</span><span class="p">))</span> <span class="c1"># str 89</span><span class="nb">chr</span><span class="p">(</span><span class="mi">240</span><span class="p">)</span> <span class="c1"># ð 90</span> 91<span class="c1"># str functions 92</span><span class="s">"python"</span><span class="p">.</span><span class="n">upper</span><span class="p">()</span> <span class="c1"># PYTHON 93</span><span class="s">"python"</span><span class="p">.</span><span class="n">capitalize</span><span class="p">()</span> <span class="c1"># Python 94</span><span class="s">" python "</span><span class="p">.</span><span class="n">strip</span><span class="p">()</span> <span class="c1"># python 95</span><span class="p">(</span><span class="s">"hello"</span> <span class="s">"world"</span><span class="p">)</span> <span class="c1"># helloworld 96</span><span class="s">"hello"</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c1"># h 97</span><span class="s">"hello world"</span><span class="p">.</span><span class="n">split</span><span class="p">()</span> <span class="c1"># list [hello, world] 98# python string are immutable! 99</span> 100<span class="c1"># string/array slicing 101</span><span class="s">"hello"</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c1"># h 102</span><span class="s">"hello"</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c1"># o 103</span><span class="s">"hello"</span><span class="p">[:]</span> <span class="c1"># hello 104</span><span class="s">"hello"</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="c1"># ello 105</span><span class="s">"hello"</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c1"># hell 106</span> 107<span class="c1"># str formatting 108</span><span class="s">"{lang} is awesome"</span><span class="p">.</span><span class="nb">format</span><span class="p">(</span><span class="n">lang</span><span class="o">=</span><span class="s">"Python"</span><span class="p">)</span> <span class="c1"># Python is awesome 109</span><span class="n">lang</span> <span class="o">=</span> <span class="s">"Python"</span> 110<span class="sa">f</span><span class="s">"</span><span class="si">{</span><span class="n">lang</span><span class="si">}</span><span class="s"> is awesome"</span> <span class="c1"># Python is awesome 111</span> 112<span class="c1"># strings are enumerable 113</span><span class="n">upper</span> <span class="o">=</span> <span class="s">""</span> 114<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="s">"hello"</span><span class="p">:</span> 115 <span class="n">upper</span> <span class="o">+=</span> <span class="n">c</span><span class="p">.</span><span class="n">upper</span><span class="p">()</span> 116 117<span class="c1"># list comprehension on string 118</span><span class="s">""</span><span class="p">.</span><span class="n">join</span><span class="p">([</span><span class="n">c</span><span class="p">.</span><span class="n">upper</span><span class="p">()</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="s">"hello"</span><span class="p">])</span> 119 120<span class="c1"># byte conversion 121</span><span class="s">"hello"</span><span class="p">.</span><span class="n">encode</span><span class="p">()</span> <span class="c1"># b"hello" 122</span><span class="s">"ð"</span><span class="p">.</span><span class="n">encode</span><span class="p">()</span> <span class="c1"># conver into bytes b'\xc3\xb0' 123</span><span class="nb">len</span><span class="p">(</span><span class="s">"ð"</span><span class="p">)</span> <span class="c1"># 1 124</span><span class="nb">len</span><span class="p">(</span><span class="s">"ð"</span><span class="p">.</span><span class="n">encode</span><span class="p">())</span> <span class="c1"># 2 125</span></code></pre></div></div> 126<h3 id="collection---list-tuple-set-dict">Collection - list, tuple, set, dict</h3> 127<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># list aka dynamic array 128</span><span class="n">evens</span> <span class="o">=</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">]</span> 129<span class="n">evens</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span> <span class="c1"># [2, 4, 6, 8] 130</span><span class="n">evens</span><span class="p">.</span><span class="n">remove</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># [4, 6, 8] 131</span><span class="n">evens</span><span class="p">.</span><span class="n">index</span><span class="p">(</span><span class="mi">6</span><span class="p">)</span> <span class="c1"># 1 132</span><span class="n">evens</span><span class="p">.</span><span class="n">extend</span><span class="p">([</span><span class="mi">8</span><span class="p">,</span> <span class="mi">10</span><span class="p">])</span> <span class="c1"># [4, 6, 8, 8, 10] 133</span><span class="n">evens</span><span class="p">.</span><span class="n">
133sort</span><span class="p">()</span> <span class="c1"># sort asc order 134</span><span class="nb">sorted</span><span class="p">(</span><span class="n">evens</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="c1"># sort desc order 135</span> 136<span class="c1"># looping a list 137</span><span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span> 138 <span class="k">print</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> 139 140<span class="c1"># looping list with index 141</span><span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)):</span> 142 <span class="k">print</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> 143 144<span class="c1"># 2d array, 2x3 dimension 145</span><span class="n">grid</span> <span class="o">=</span> <span class="p">
145[[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]]</span> 146<span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="mi">3</span> <span class="c1"># [0, 0, 0] 147</span><span class="p">[[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">]]</span> <span class="o">*</span> <span class="mi">3</span> <span class="c1"># [[0, 1], [0, 1], [0, 1]] 148</span> 149<span class="c1"># jagged array 150</span><span class="n">jagged</span> <span class="o">=</span> <span class="p">[[</span><span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span> 151 152<span class="c1"># tuple - immutable 153</span><span class="n">immutable_list</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span> 154 155<span class="c1"># set 156</span><span class="n">distinct</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="s">"AABBCCDD"</span><span class="p">)</span> <span class="c1"># {'A', 'B', 'C', 'D'} 157</span> 158<span class="c1"># conversion 159</span><span class="n">a_list</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">))</span> 160<span class="n">a_tup</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">a_list</span><span class="p">)</span> 161<span class="n">a_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">a_list</span><span class="p">)</span> 162 163<span class="c1"># dict - map 164</span><span class="n">hash_map</span> <span class="o">=</span> <span class="p">{</span><span class="s">"state"</span><span class="p">:</span> <span class="s">"GA"</span><span class="p">,</span> <span class="s">"post_code"</span><span class="p">:</span> <span class="mi">30342</span><span class="p">}</span> 165<span class="n">hash_map</span><span class="p">.</span><span class="n">keys</span><span class="p">()</span> <span class="c1"># dict_keys(['state', 'post_code']) 166</span><span class="n">hash_map</span><span class="p">.</span><span class="n">values</span><span class="p">()</span> <span class="c1"># dict_values(['GA', 30342]) 167</span><span class="n">hash_map</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="s">'state'</span><span class="p">)</span> <span class="c1"># GA 168</span><span class="n">hash_map</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="s">'unknown_key'</span><span class="p">,</span> <span class="s">'default_val'</span><span class="p">)</span> <span class="c1"># default_val 169</span><span class="n">hash_map</span><span class="p">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s">'foo'</span><span class="p">,</span> <span class="s">'bar'</span><span class="p">)</span> 170<span class="n">hash_map</span><span class="p">[</span><span class="s">'foo'</span><span class="p">]</span> <span class="o">=</span> <span class="s">'baz'</span> 171 172<span class="c1"># looping a dict 173</span><span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">hash_map</span><span class="p">.</span><span class="n">items</span><span class="p">():</span> 174 <span class="k">print</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span> 175</code></pre></div></div> 176
177<h1 id="list-comprehension">List comprehension</h1> 178<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)]</span> <span class="c1"># [0, 1, 4, 9, 16] 179# set 180</span><span class="p">{</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)}</span> <span class="c1"># {0, 1, 4, 9, 16} 181</span><span class="p">[</span><span class="n">key</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">hash_map</span><span class="p">.</span><span class="n">keys</span><span class="p">()]</span> <span class="c1"># ['state', 'post_code'] 182</span><span class="p">[</span><span class="n">val</span> <span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">hash_map</span><span class="p">.</span><span class="n">values</span><span class="p">()]</span> <span class="c1"># ['GA', 30342] 183</span><span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">hash_map</span><span class="p">.</span><span class="n">items</span><span class="p">()]</span> <span class="c1"># [('state', 'GA'), ('post_code', 30342)] 184# dict 185</span><span class="p">{</span><span class="n">key</span><span class="p">:</span> <span class="n">key</span> <span class="o">**</span> <span class="mi">2</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)}</span> <span class="c1"># {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 186</span></code></pre></div></div> 187<h1 id="dates---datetime-time-timedelta">Dates - datetime, time, timedelta</h1> 188<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">date</span><span class="p">,</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span> 189<span class="kn">import</span> <span class="nn">time</span> 190 191<span class="c1"># just the day 192</span><span class="n">today</span> <span class="o">=</span> <span class="n">date</span><span class="p">.</span><span class="n">today</span><span class="p">()</span> 193<span class="c1"># specific day 194</span><span class="n">dob</span> <span class="o">=</span> <span class="n">date</span><span class="p">(</span><span class="mi">2000</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> 195<span class="n">dob</span><span class="p">.</span><span class="n">isoformat</span><span class="p">()</span> <span class="c1"># '2000-01-01' 196</span><span class="n">delta_days</span> <span class="o">=</span> <span class="n">today</span> <span class="o">-</span> <span class="n">dob</span> <span class="c1"># days 197</span><span class="n">dt</span> <span class="o">=</span> <span class="n">datetime</span><span class="p">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="s">'2011-11-04'</span><span class="p">)</span> <span class="c1"># only python >= 3.7 198</span> 199<span class="c1"># date diff using timedelta 200</span><span class="n">yesterday</span> <span class="o">=</span> <span class="n">today</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> 201<span class="n">tomorrow</span> <span class="o">=</span> <span class="n">today</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> 202 203<span class="c1"># datetime, it uses timezon 204</span><span class="n">today</span> <span class="o">=</span> <span class="n">datetime</span><span class="p">.</span><span class="n">today</span><span class="p">()</span> 205 206<span class="c1"># timestamp 207</span><span class="n">timestamp</span> <span class="o">=</span> <span class="n">time</span><span class="p">.</span><span class="n">time</span><span class="p">()</span> 208<span class="n">today</span> <span class="o">=</span> <span class="n">date</span><span class="p">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">timestamp</span><span class="p">)</span> 209 210<span class="c1"># date formatting 211</span><span class="n">today</span><span class="p">.</span><span class="n">strftime</span><span class="p">(</span><span class="s">"%Y-%m-%d %H:%M:%S"</span><span class="p">)</span> <span class="c1"># 2021-01-30 16:01:20 212</span></code></pre></div></div>
213<h1 id="functional-programming---itertools-functools">Functional programming - itertools, functools</h1> 214<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># generator expressions - surrounded by parenthesis () 215</span><span class="nb">iter</span> <span class="o">=</span> <span class="p">(</span><span class="n">line</span><span class="p">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="p">[</span><span class="s">"hello world"</span><span class="p">,</span> <span class="s">"foo bar"</span><span class="p">])</span> 216 217<span class="c1"># map, filter 218</span><span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">.</span><span class="n">upper</span><span class="p">(),</span> <span class="p">[</span><span class="s">"hello"</span><span class="p">,</span> <span class="s">"world"</span><span class="p">]))</span> <span class="c1"># ['HELLO', 'WORLD'] 219</span><span class="nb">list</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)))</span> <span class="c1"># [0, 2, 4, 6, 8] 220# any, all 221</span><span class="nb">any</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">])</span> <span class="c1"># True 222</span><span class="nb">all</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">])</span> <span class="c1"># True 223</span> 224<span class="c1"># itertools module 225</span><span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">count</span><span class="p">,</span> <span class="n">cycle</span><span class="p">,</span> <span class="n">repeat</span><span class="p">,</span> <span class="n">takewhile</span><span class="p">,</span> <span class="n">accumulate</span><span class="p">,</span> <span class="n">groupby</span> 226<span class="kn">import</span> <span class="nn">operator</span> 227<span class="c1"># infinite iterator 228# start counting from 100, 200, 300 ... 229</span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">count</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">):</span> 230 <span class="k">if</span> <span class="n">i</span> <span class="o">>=</span> <span class="mi">1000</span><span class="p">:</span> 231 <span class="k">break</span> 232 <span class="k">print</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> 233 234<span class="c1"># takewhile 235</span><span class="nb">list</span><span class="p">(</span><span class="n">takewhile</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o"><</span> <span class="mi">1000</span><span class="p">,</span> <span class="n">count</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">100</span><span class="p">)))</span> 236 237<span class="c1"># cycle 238</span><span class="k">for</span> <span class="n">val</span> <span class="ow">in</span> <span class="n">cycle</span><span class="p">(</span><span class="s">"ABC"</span><span class="p">):</span> 239 <span class="k">print</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> 240 241<span class="c1"># repeat some numbers 242</span><span class="n">repeat</span><span class="p">(</span><span class="s">"ABC"</span><span class="p">)</span> <span class="c1"># repeat infinitely 243</span><span class="n">repeat</span><span class="p">(</span><span class="s">"ABC"</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="c1"># repeat 3 times 244</span> 245<span class="c1"># running sum 246</span><span class="nb">list</span><span class="p">(</span><span class="n">accumulate</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)))</span> 247 248<span class="c1"># group by - iterms need to be sorted! 249</span><span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">g</span><span class="p">))</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">groupby</span><span class="p">(</span><span class="s">'AABBBCCDEEE'</span><span class="p">)}</span> <span class="c1"># {'A': 2, 'B': 3, 'C': 2, 'D': 1, 'E': 3} 250</span> 251<span class="c1"># functools module - reduce 252</span><span class="kn">from</span> <span class="nn">functools</span> <span class="kn">
252import</span> <span class="nb">reduce</span> 253<span class="kn">import</span> <span class="nn">operator</span> 254<span class="c1"># sum up, init 0 255</span><span class="nb">reduce</span><span class="p">(</span><span class="n">operator</span><span class="p">.</span><span class="n">add</span><span class="p">,</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span> 256</code></pre></div></div> 257 258 </div><a class="u-url" href="/python/2021/01/30/back-to-basics-python.html" hidden></a> 259</article> 260 261 </div> 262 </main><footer class="site-footer h-card"> 263 <data class="u-url" href="/"></data> 264 265 <div class="wrapper"> 266 267 <h2 class="footer-heading">Shaikhul's Blog</h2> 268 269 <div class="footer-col-wrapper"> 270 <div class="footer-col footer-col-1"> 271 <ul class="contact-list"> 272 <li class="p-name">Shaikhul's Blog</li><li><a class="u-email" href="mailto:[email protected]">[email protected]</a></li></ul> 273 </div> 274 275 <div class="footer-col footer-col-2"><ul class="social-media-list"><li><a href="https://github.com/shaikhul"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">shaikhul</span></a></li><li><a href="https://www.twitter.com/shaikhul305"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">shaikhul305</span></a></li></ul> 276</div> 277 278 <div class="footer-col footer-col-3"> 279 <p>Shaikhul's Github Page</p> 280 </div> 281 </div> 282 283 </div> 284 285</footer> 286</body> 287 288</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.