PageSourceSearch

https://shaikhul.github.io/python/2021/01/30/back-to-basics-python.html

html shaikhul.github.io collected 2026-10-03 09:56:05 UTC 30,667 bytes, 288 lines download raw bytes

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&#39;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 &gt;= 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">&gt;=</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">&lt;</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&#39;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&#39;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&#39;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.