<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Computer Science Archives - Be on the Right Side of Change</title>
	<atom:link href="https://blog.finxter.com/category/computer-science/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.finxter.com/category/computer-science/</link>
	<description></description>
	<lastBuildDate>Tue, 02 Dec 2025 15:05:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.finxter.com/wp-content/uploads/2020/08/cropped-cropped-finxter_nobackground-32x32.png</url>
	<title>Computer Science Archives - Be on the Right Side of Change</title>
	<link>https://blog.finxter.com/category/computer-science/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Best Free Books for Distributed Systems PhD Students (Must Read!)</title>
		<link>https://blog.finxter.com/free-books-distributed-systems/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Tue, 25 Nov 2025 15:43:05 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Distributed Systems]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1671447</guid>

					<description><![CDATA[<p>Distributed systems form the backbone of modern large-scale computing, from cloud platforms to distributed databases and large clusters. As a PhD student, you need resources that go beyond the basics, combining strong theoretical foundations with practical insights. And ideally, they should be freely accessible. The following five books are all legally available online at no ... <a title="Best Free Books for Distributed Systems PhD Students (Must Read!)" class="read-more" href="https://blog.finxter.com/free-books-distributed-systems/" aria-label="Read more about Best Free Books for Distributed Systems PhD Students (Must Read!)">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/free-books-distributed-systems/">Best Free Books for Distributed Systems PhD Students (Must Read!)</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Distributed systems form the backbone of modern large-scale computing, from cloud platforms to distributed databases and large clusters. </p>



<p>As a PhD student, you need resources that go beyond the basics, combining strong theoretical foundations with practical insights. And ideally, they should be freely accessible. </p>



<p>The following five books are all legally available online at no cost and are well-suited to accompany you through graduate-level research in distributed systems.</p>



<h2 class="wp-block-heading">Distributed Systems (4th Edition) — Maarten van Steen &amp; Andrew S. Tanenbaum</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="378" height="455" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-34.png" alt="" class="wp-image-1671448" style="width:300px" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-34.png 378w, https://blog.finxter.com/wp-content/uploads/2025/11/image-34-249x300.png 249w" sizes="(max-width: 378px) 100vw, 378px" /></figure>
</div>


<p>This modern classic offers a broad and rigorous introduction to distributed systems, covering architectures, communication, naming, coordination, replication, fault tolerance, and security. The 4th edition updates many examples to reflect today’s large-scale systems and is widely used in advanced undergraduate and graduate courses. A personalized digital copy is available for free from the authors’ website.</p>



<p><a href="https://www.distributed-systems.net/index.php/books/ds4/" target="_blank" rel="noreferrer noopener">Access the free digital edition</a></p>



<h2 class="wp-block-heading">Distributed Systems for Fun and Profit — Mikito Takada</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="438" height="522" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-35.png" alt="" class="wp-image-1671449" style="width:300px" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-35.png 438w, https://blog.finxter.com/wp-content/uploads/2025/11/image-35-252x300.png 252w" sizes="(max-width: 438px) 100vw, 438px" /></figure>
</div>


<p>Short, opinionated, and surprisingly deep, this book is great when you want to quickly grasp the core concepts behind real-world distributed systems. It walks through consistency models, time and ordering, replication strategies, and the design of systems like Dynamo and Bigtable, always with an eye toward what matters in practice. Its informal style makes it perfect as a first pass or as a companion to more formal texts.</p>



<p><a href="https://book.mixu.net/distsys/single-page.html" target="_blank" rel="noreferrer noopener">Read the book online for free</a></p>



<h2 class="wp-block-heading">The Datacenter as a Computer: Designing Warehouse-Scale Machines (3rd Edition) — Luiz André Barroso, Urs Hölzle, Parthasarathy Ranganathan</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="150" height="184" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-36.png" alt="" class="wp-image-1671450" style="width:300px"/></figure>
</div>


<p>If you’re doing a PhD, you’ll likely care about how your algorithms and systems behave at data-center scale. This open-access book treats an entire datacenter as a single “warehouse-scale computer” and explains how to design, operate, and optimize such systems. It’s particularly valuable for understanding the hardware, energy, and reliability constraints behind large distributed services such as those run by major cloud providers.</p>



<p><a href="https://library.oapen.org/handle/20.500.12657/61844">Download the open-access book (PDF and more)</a></p>



<h2 class="wp-block-heading">Operating Systems: Three Easy Pieces — Remzi H. Arpaci-Dusseau &amp; Andrea C. Arpaci-Dusseau</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="414" height="648" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-37.png" alt="" class="wp-image-1671451" style="width:300px" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-37.png 414w, https://blog.finxter.com/wp-content/uploads/2025/11/image-37-192x300.png 192w" sizes="auto, (max-width: 414px) 100vw, 414px" /></figure>
</div>


<p>While technically an operating-systems book, OSTEP is essential background for anyone doing serious work in distributed systems. Its deep treatment of concurrency, synchronization, and persistence provides the building blocks that distributed algorithms and storage systems rely on. The clear structure, numerous exercises, and freely available PDFs make it ideal for self-study alongside more specialized distributed-systems material.</p>



<p><a href="http://pages.cs.wisc.edu/~remzi/OSTEP/">Access the free online textbook and PDFs</a></p>



<h2 class="wp-block-heading">Distributed Algorithms — Jukka Suomela</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="663" height="887" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-38.png" alt="" class="wp-image-1671452" style="width:300px" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-38.png 663w, https://blog.finxter.com/wp-content/uploads/2025/11/image-38-224x300.png 224w" sizes="auto, (max-width: 663px) 100vw, 663px" /></figure>
</div>


<p>These lecture notes form a full-fledged graduate-level textbook on distributed algorithms, focusing on rigorous models and proofs. Topics include locality, symmetry breaking, graph problems, and complexity in distributed settings, making it an excellent bridge between theory and the systems-oriented books above. If your PhD work touches consensus, graph algorithms on networks, or lower bounds in distributed computing, this text is a highly relevant free resource.</p>



<p><a href="https://jukkasuomela.fi/da/da-screen.pdf">Download the lecture-notes textbook as PDF</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Also check out my other free book articles:</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://blog.finxter.com/free-ai-books/" data-type="post" data-id="1671347">42 Best Free AI Books (HTML/PDF)</a></p>
<p>The post <a href="https://blog.finxter.com/free-books-distributed-systems/">Best Free Books for Distributed Systems PhD Students (Must Read!)</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>42 Free University Books (PDF/HTML)</title>
		<link>https://blog.finxter.com/42-free-university-books-pdf-html/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 14:13:32 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[University]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1671368</guid>

					<description><![CDATA[<p>💡 About this free book collection. Below are some of the highest-quality university textbooks that you can legally read and download for free. Each entry lists the title (in bold), the author(s) in italics, and the available formats with notes on whether a sign-up is required. Links point directly to the free books &#8211; I ... <a title="42 Free University Books (PDF/HTML)" class="read-more" href="https://blog.finxter.com/42-free-university-books-pdf-html/" aria-label="Read more about 42 Free University Books (PDF/HTML)">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/42-free-university-books-pdf-html/">42 Free University Books (PDF/HTML)</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-global-color-8-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>About this free book collection.</strong> Below are some of the highest-quality university textbooks that you can legally read and download for free. Each entry lists the title (<strong>in bold</strong>), the author(s) in <em>italics</em>, and the available formats with notes on whether a sign-up is required. Links point directly to the free books &#8211; I have manually checked the link quality (by hand).</p>



<ol class="wp-block-list">
<li><strong><a href="https://web.mit.edu/6.001/6.037/sicp.pdf" target="_blank" rel="noreferrer noopener">Structure and Interpretation of Computer Programs</a></strong> – <em>Harold Abelson &amp; Gerald Jay Sussman</em> (HTML, no sign-up) – the classic MIT programming text is released as an <a href="https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html#:~:text=,License%20by%20the%20MIT%20Press.">open-access web edition</a> under a Creative Commons license</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="217" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-217x300.png" alt="" class="wp-image-1671371" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-217x300.png 217w, https://blog.finxter.com/wp-content/uploads/2025/11/image.png 595w" sizes="auto, (max-width: 217px) 100vw, 217px" /></figure>
</div>


<ol start="2" class="wp-block-list">
<li><strong><a href="https://www.feynmanlectures.caltech.edu/">The Feynman Lectures on Physics</a></strong> – <em>Richard P. Feynman, Robert B. Leighton &amp; Matthew Sands</em> (HTML, no sign-up) – Caltech’s website hosts the complete three-volume lecture series free of charge.</li>



<li><strong><a href="https://www.deeplearningbook.org/">Deep Learning</a></strong> – <em>Ian Goodfellow, Yoshua Bengio &amp; Aaron Courville</em> (HTML, no sign-up) – the authors and MIT Press offer a complete online version that will remain freely accessible.</li>



<li><strong><a href="https://pages.cs.wisc.edu/~remzi/OSTEP/">Operating Systems: Three Easy Pieces</a></strong> – <em>Remzi H. Arpaci-Dusseau &amp; Andrea C. Arpaci-Dusseau</em> (PDF, no sign-up) – a comprehensive OS text that the authors explicitly intend to remain freely available.</li>



<li><strong><a href="https://ia600206.us.archive.org/17/items/cattheory/cattheory.pdf">Category Theory for Scientists</a></strong> – <em>David I. Spivak</em> (PDF, no sign-up) – MIT’s open-courseware site links to this freely downloadable textbook.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="229" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-1-229x300.png" alt="" class="wp-image-1671372" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-1-229x300.png 229w, https://blog.finxter.com/wp-content/uploads/2025/11/image-1.png 660w" sizes="auto, (max-width: 229px) 100vw, 229px" /></figure>
</div>


<ol start="6" class="wp-block-list">
<li><strong><a href="http://pi.math.cornell.edu/~hatcher/AT/AT.pdf">Algebraic Topology</a></strong> – <em>Allen Hatcher</em> (PDF, no sign-up) – the author and publisher allow free download of this standard graduate-level text.</li>



<li><strong><a href="https://hefferon.net/linearalgebra/" data-type="link" data-id="https://hefferon.net/linearalgebra/">Linear Algebra</a></strong> – <em>Jim Hefferon</em> (PDF &amp; HTML, no sign-up) – Hefferon’s textbook is free to download and is licensed for redistribution.</li>



<li><strong><a href="https://digitalcommons.trinity.edu/mono/7/#:~:text=This%20book%20was%20previously%20published,sa%2F3.0%2Fdeed.en_G" target="_blank" rel="noreferrer noopener">Introduction to Real Analysis</a></strong> – <em>William F. Trench</em> (PDF, no sign-up) – a free, Creative Commons–licensed edition of this undergraduate text.</li>



<li><strong><a href="https://www.math.colostate.edu/~pries/467/Judson12.pdf" target="_blank" rel="noreferrer noopener">Abstract Algebra: Theory and Applications</a></strong> – <em>Thomas W. Judson</em> (PDF, no sign-up) – an open textbook published under the GNU Free Documentation License.</li>



<li><strong><a href="https://math.dartmouth.edu/~prob/prob/prob.pdf" target="_blank" rel="noreferrer noopener">Introduction to Probability</a></strong> – <em>Charles M. Grinstead &amp; J. Laurie Snell</em> (HTML &amp; PDF, no sign-up) – the authors distribute this complete text under a free documentation license.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="240" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-2-240x300.png" alt="" class="wp-image-1671374" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-2-240x300.png 240w, https://blog.finxter.com/wp-content/uploads/2025/11/image-2-818x1024.png 818w, https://blog.finxter.com/wp-content/uploads/2025/11/image-2-768x961.png 768w, https://blog.finxter.com/wp-content/uploads/2025/11/image-2.png 890w" sizes="auto, (max-width: 240px) 100vw, 240px" /></figure>
</div>


<ol start="11" class="wp-block-list">
<li><strong><a href="https://web.stanford.edu/~hastie/ElemStatLearn/">The Elements of Statistical Learning</a></strong> – <em>Trevor Hastie, Robert Tibshirani &amp; Jerome Friedman</em> (PDF, no sign-up) – a highly regarded machine-learning reference with a free PDF.</li>



<li><strong><a href="https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf" target="_blank" rel="noreferrer noopener">Reinforcement Learning: An Introduction</a></strong> – <em>Richard S. Sutton &amp; Andrew G. Barto</em> (HTML &amp; PDF, no sign-up) – the authors provide free HTML and PDF downloads under a Creative Commons license.</li>



<li><strong><a href="https://web.stanford.edu/~boyd/cvxbook/">Convex Optimization</a></strong> – <em>Stephen Boyd &amp; Lieven Vandenberghe</em> (PDF, no sign-up) – Cambridge University Press permits the authors to host the PDF for free.</li>



<li><strong><a href="https://opendatastructures.org/ods.html">Open Data Structures</a></strong> – <em>Pat Morin</em> (HTML &amp; PDF, no sign-up) – the book and source code are free (libre and gratis) under a Creative Commons license.</li>



<li><strong><a href="https://jeffe.cs.illinois.edu/teaching/algorithms/">Algorithms</a></strong> – <em>Jeff Erickson</em> (PDF, no sign-up) – this self-published textbook remains free; anyone may download, copy and redistribute it under a Creative Commons license.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="208" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-3-208x300.png" alt="" class="wp-image-1671375" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-3-208x300.png 208w, https://blog.finxter.com/wp-content/uploads/2025/11/image-3-709x1024.png 709w, https://blog.finxter.com/wp-content/uploads/2025/11/image-3-768x1110.png 768w, https://blog.finxter.com/wp-content/uploads/2025/11/image-3.png 982w" sizes="auto, (max-width: 208px) 100vw, 208px" /></figure>
</div>


<ol start="16" class="wp-block-list">
<li><strong><a href="https://allendowney.github.io/ThinkPython/">Think Python</a></strong> – <em>Allen B. Downey</em> (HTML &amp; PDF, no sign-up) – a beginner-friendly Python book released under a Creative Commons license and explicitly described as a free book.</li>



<li><strong><a href="https://allendowney.github.io/ThinkStats/">Think Stats</a></strong> – <em>Allen B. Downey</em> (HTML &amp; PDF, no sign-up) – the author’s site hosts a free, online version and encourages readers to share it under a Creative Commons license.</li>



<li><strong><a href="https://eloquentjavascript.net/">Eloquent JavaScript</a></strong> – <em>Marijn Haverbeke</em> (HTML &amp; PDF, no sign-up) – the fourth edition is available online under a Creative Commons Attribution–Noncommercial license.</li>



<li><strong><a href="https://d2l.ai/">Dive Into Deep Learning</a></strong> – <em>Aston Zhang, Zachary C. Lipton, Mu Li &amp; Alex J. Smola</em> (HTML &amp; PDF, no sign-up) – this open-source interactive book offers free online and PDF versions.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="240" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-5-240x300.png" alt="" class="wp-image-1671377" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-5-240x300.png 240w, https://blog.finxter.com/wp-content/uploads/2025/11/image-5.png 518w" sizes="auto, (max-width: 240px) 100vw, 240px" /></figure>
</div>


<ol start="20" class="wp-block-list">
<li><strong><a href="https://www.apexcalculus.com/">APEX Calculus</a></strong> – <em>Gregory Hartman et al.</em> (PDF, no sign-up) – an open-source calculus textbook; anyone can download and print the PDF version for free.</li>



<li><strong><a href="https://www.openintro.org/book/stat/">OpenIntro Statistics</a></strong> – <em>David M. Diez, Christopher D. Barr &amp; Mine Çetinkaya-Rundel</em> (PDF, no sign-up) – the OpenIntro collection notes that all its textbooks have free PDF versions.</li>



<li><strong><a href="https://openintro-ims.netlify.app/">Introduction to Modern Statistics</a></strong> – <em>Mine Çetinkaya-Rundel &amp; Johanna Hardin</em> (PDF, no sign-up) – an OpenIntro statistics text; the series offers free PDF downloads.</li>



<li><strong><a href="https://openintro-islbs.netlify.app/">Introductory Statistics for the Life and Biomedical Sciences</a></strong> – <em>Nathaniel Horton &amp; Benjamin S. Baumer</em> (PDF, no sign-up) – another OpenIntro textbook with a freely downloadable PDF.</li>



<li><strong><a href="https://openintro-ahs.netlify.app/">Advanced High School Statistics</a></strong> – <em>David M. Diez &amp; Christopher D. Barr</em> (PDF, no sign-up) – OpenIntro’s AP/advanced-high-school statistics book; the PDF is free.</li>



<li><strong><a href="https://www.openintro.org/book/isrs/">Introductory Statistics with Randomization &amp; Simulation</a></strong> – <em>David M. Diez, Christopher D. Barr &amp; Mine Çetinkaya-Rundel</em> (PDF, no sign-up) – part of OpenIntro’s free-PDF series.</li>
</ol>



<h3 class="wp-block-heading">OpenStax textbooks (free PDF &amp; web view, no registration)</h3>



<p>OpenStax, a nonprofit initiative at Rice University, publishes a wide range of peer-reviewed textbooks. Their policy explicitly states that the books are free to read online or download in PDF with no passwords or <a href="https://oer.hawaii.edu/openstax-announces-new-open-textbooks-for-university-courses/#:~:text=OpenStax%20College%20published%20the%20full,through%20a%20rigorous%20editorial%20process">registration required</a>. The following OpenStax titles are excellent resources:</p>



<ol start="26" class="wp-block-list">
<li><strong><a href="https://openstax.org/details/books/calculus-volume-1">Calculus Volume 1</a></strong> – <em>Gilbert Strang et al.</em> (PDF &amp; Web, no sign-up) – first-semester calculus with interactive examples and problem sets.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="234" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-6-234x300.png" alt="" class="wp-image-1671378" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-6-234x300.png 234w, https://blog.finxter.com/wp-content/uploads/2025/11/image-6.png 726w" sizes="auto, (max-width: 234px) 100vw, 234px" /></figure>
</div>


<ol start="27" class="wp-block-list">
<li><strong><a href="https://openstax.org/details/books/calculus-volume-2">Calculus Volume 2</a></strong> – <em>Gilbert Strang et al.</em> (PDF &amp; Web, no sign-up) – covers sequences, series, and multivariable calculus.</li>



<li><strong><a href="https://openstax.org/details/books/calculus-volume-3">Calculus Volume 3</a></strong> – <em>Gilbert Strang et al.</em> (PDF &amp; Web, no sign-up) – advanced topics such as vector calculus and partial differential equations.</li>



<li><strong><a href="https://openstax.org/details/books/university-physics-volume-1">University Physics Volume 1</a></strong> – <em>Samuel J. Ling, William Moebs &amp; Jeff Sanny</em> (PDF &amp; Web, no sign-up) – covers mechanics and thermodynamics.</li>



<li><strong><a href="https://openstax.org/details/books/university-physics-volume-2">University Physics Volume 2</a></strong> – <em>Samuel J. Ling, William Moebs &amp; Jeff Sanny</em> (PDF &amp; Web, no sign-up) – electromagnetism and optics.</li>



<li><strong><a href="https://openstax.org/details/books/university-physics-volume-3">University Physics Volume 3</a></strong> – <em>Samuel J. Ling, William Moebs &amp; Jeff Sanny</em> (PDF &amp; Web, no sign-up) – modern physics and waves.</li>



<li><strong><a href="https://openstax.org/details/books/chemistry-2e">Chemistry 2e</a></strong> – <em>Paul Flowers et al.</em> (PDF &amp; Web, no sign-up) – a full general-chemistry text.</li>



<li><strong><a href="https://openstax.org/details/books/biology-2e">Biology 2e</a></strong> – <em>Mary Ann Clark et al.</em> (PDF &amp; Web, no sign-up) – comprehensive introductory biology.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="233" height="300" src="https://blog.finxter.com/wp-content/uploads/2025/11/image-7-233x300.png" alt="" class="wp-image-1671379" srcset="https://blog.finxter.com/wp-content/uploads/2025/11/image-7-233x300.png 233w, https://blog.finxter.com/wp-content/uploads/2025/11/image-7.png 741w" sizes="auto, (max-width: 233px) 100vw, 233px" /></figure>
</div>


<ol start="34" class="wp-block-list">
<li><strong><a href="https://openstax.org/details/books/microbiology">Microbiology</a></strong> – <em>OpenStax</em> (PDF &amp; Web, no sign-up) – covers microbial structure, physiology and genetics.</li>



<li><strong><a href="https://archive.org/details/CollegeAlgebra_201904">College Algebra</a></strong> – <em>Jay Abramson</em> (PDF &amp; Web, no sign-up) – functions, polynomials and graphs for precalculus preparation.</li>



<li><strong><a href="https://home.fau.edu/wmcgove1/web/Courses/MAS2103/Hefferon.pdf" target="_blank" rel="noreferrer noopener">Linear Algebra</a></strong> – <em>Jim Hefferon</em> (PDF &amp; Web, no sign-up) – a modern introduction to linear algebra and matrix theory.</li>



<li><strong><a href="https://www.researchgate.net/profile/William-Trench/publication/267867457_Elementary_Differential_Equations/links/545bd8640cf2f1dbcbcb05f5/Elementary-Differential-Equations.pdf" target="_blank" rel="noreferrer noopener">Differential Equations</a></strong> – <em>William F. Trench</em> (PDF &amp; Web, no sign-up) – an OpenStax adaptation of Trench’s classic book.</li>



<li><strong><a href="https://openstax.org/details/books/principles-macroeconomics-2e">Principles of Macroeconomics 2e</a></strong> – <em>OpenStax</em> (PDF &amp; Web, no sign-up) – macroeconomics with current policy examples.</li>



<li><strong><a href="https://openstax.org/details/books/principles-microeconomics-2e">Principles of Microeconomics 2e</a></strong> – <em>OpenStax</em> (PDF &amp; Web, no sign-up) – microeconomic theory and applications.</li>



<li><strong><a href="https://openstax.org/details/books/psychology-2e">Psychology 2e</a></strong> – <em>OpenStax</em> (PDF &amp; Web, no sign-up) – foundational topics in psychology.</li>



<li><strong><a href="https://openstax.org/details/books/introduction-sociology-3e">Introduction to Sociology 3e</a></strong> – <em>OpenStax</em> (PDF &amp; Web, no sign-up) – explores social institutions, culture, and modern issues.</li>



<li><strong><a href="https://openstax.org/details/books/biology-ap-courses">Biology for AP Courses</a></strong> – <em>OpenStax</em> (PDF &amp; Web, no sign-up) – designed for advanced high-school or introductory university biology.</li>
</ol>



<p>These books span mathematics, computer science, physics, statistics, economics and the life sciences. Because they carry open licenses and are distributed via trusted publishers such as MIT Press, Caltech, OpenIntro and OpenStax, they are excellent resources for self-learners and educators alike.</p>



<p>You may also be interested in my collection on free Artificial Intelligence books!</p>



<p class="has-base-2-background-color has-background"> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://blog.finxter.com/free-ai-books/" data-type="post" data-id="1671347">42 Free AI Books (PDF/HTML)</a></p>
<p>The post <a href="https://blog.finxter.com/42-free-university-books-pdf-html/">42 Free University Books (PDF/HTML)</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What Are the Three Best Graph Partitioning Algorithms? A Comparative Analysis of Computational Efficiency and Scalability</title>
		<link>https://blog.finxter.com/what-are-the-three-best-graph-partitioning-algorithms-a-comparative-analysis-of-computational-efficiency-and-scalability/</link>
		
		<dc:creator><![CDATA[Koala]]></dc:creator>
		<pubDate>Thu, 24 Oct 2024 15:25:52 +0000</pubDate>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Graph Theory]]></category>
		<category><![CDATA[Research]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1671048</guid>

					<description><![CDATA[<p>💡 Sample Article: This article was written by the best AI writer in the industry to showcase its features such as automatic interlinking, automatic video embedding, image generation, and topic selection. Want to build your own AI website? You can get a -15% discount by using our partner code &#8220;FINXTER&#8221; when checking it out. Overview ... <a title="What Are the Three Best Graph Partitioning Algorithms? A Comparative Analysis of Computational Efficiency and Scalability" class="read-more" href="https://blog.finxter.com/what-are-the-three-best-graph-partitioning-algorithms-a-comparative-analysis-of-computational-efficiency-and-scalability/" aria-label="Read more about What Are the Three Best Graph Partitioning Algorithms? A Comparative Analysis of Computational Efficiency and Scalability">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/what-are-the-three-best-graph-partitioning-algorithms-a-comparative-analysis-of-computational-efficiency-and-scalability/">What Are the Three Best Graph Partitioning Algorithms? A Comparative Analysis of Computational Efficiency and Scalability</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Sample Article:</strong> This article was written by the <a href="https://blog.finxter.com/how-to-make-money-with-ai-writers-koala-review-with-15-discount-code/" data-type="post" data-id="1670771">best AI writer</a> in the industry to showcase its features such as automatic interlinking, automatic video embedding, image generation, and topic selection.</p>



<p><strong>Want to build your own AI website?</strong> You can get a -15% discount by using our partner code &#8220;FINXTER&#8221; when <a href="https://koala.sh/?via=finxter" data-type="link" data-id="https://koala.sh/?via=finxter">checking it out</a>.</p>



<h2 class="wp-block-heading">Overview of Graph Partitioning</h2>



<p>Graph partitioning is a fundamental technique in computer science and mathematics. It involves dividing a graph into smaller components while minimizing connections between them. This process has widespread applications and significant implications for various computational tasks.</p>



<h3 class="wp-block-heading">Definition and Importance</h3>



<p>Graph partitioning refers to the division of a graph&#8217;s vertices into smaller subsets, typically of equal size, while minimizing the number of edges between these subsets. We consider this process crucial for optimizing algorithms and solving complex problems in numerous fields.</p>



<p>The importance of graph partitioning lies in its ability to:</p>



<ul class="wp-block-list">
<li>Reduce computational complexity</li>



<li>Enhance parallel processing efficiency</li>



<li>Improve data distribution in distributed systems</li>



<li>Facilitate load balancing in networks</li>
</ul>



<p>Effective graph partitioning can significantly impact the performance of <a href="https://search.proquest.com/openview/f6201613928365d15d1d47229b6c0708/1?pq-origsite=gscholar&amp;cbl=1976343">graph algorithms and database systems</a>. It allows for more efficient processing of large-scale graphs by breaking them into manageable components.</p>



<h3 class="wp-block-heading">Applications in Various Fields</h3>



<p>Graph partitioning finds applications across diverse domains:</p>



<ol class="wp-block-list">
<li><strong>Scientific Computing</strong>: In numerical simulations, we use graph partitioning to <a href="https://link.springer.com/content/pdf/10.1007/978-94-011-5412-3_12?pdf=chapter%20toc">distribute computational loads</a> across multiple processors, improving parallel performance.</li>



<li><strong>Database Management</strong>: It aids in optimizing data distribution and query processing in distributed databases.</li>



<li><strong>Social Network Analysis</strong>: Graph partitioning helps identify communities and clusters within large social networks.</li>



<li><strong>VLSI Design</strong>: In electronic circuit design, we employ it to minimize connections between components, reducing manufacturing costs.</li>



<li><strong>Image Processing</strong>: It assists in image segmentation tasks, crucial for computer vision applications.</li>
</ol>



<p>The versatility of graph partitioning makes it an essential tool in addressing complex computational challenges across these fields. Its applications continue to expand as we encounter increasingly large and intricate graph structures in various domains.</p>



<h2 class="wp-block-heading">Fundamentals of Partitioning Algorithms</h2>



<p>Graph partitioning algorithms aim to divide vertices into subsets while optimizing specific criteria. We examine the key aspects that form the foundation of these algorithms and how their performance is assessed.</p>



<h3 class="wp-block-heading">Partitioning Criteria</h3>



<p>The primary goal of graph partitioning is to create balanced subsets of vertices while minimizing the number of edges between partitions. We consider several crucial criteria:</p>



<ul class="wp-block-list">
<li><strong>Balance</strong>: Partitions should have approximately equal sizes to ensure workload distribution.</li>



<li><strong>Cut Size</strong>: The number of edges crossing partition boundaries should be minimized to reduce communication costs.</li>



<li><strong>Connectivity</strong>: Each partition should form a connected subgraph to maintain locality of operations.</li>
</ul>



<p><a href="https://link.springer.com/content/pdf/10.1007/978-94-011-5412-3_12?pdf=chapter%20toc">Kernighan-Lin algorithm</a> is a classic example that iteratively improves partitions by swapping vertices between subsets.</p>



<h3 class="wp-block-heading">Evaluation Metrics for Algorithms</h3>



<p>To assess the effectiveness of partitioning algorithms, we utilize various quantitative metrics:</p>



<ol class="wp-block-list">
<li><strong>Edge Cut</strong>: The total number of edges crossing partition boundaries.</li>



<li><strong>Partition Size Variance</strong>: Measure of how evenly vertices are distributed among partitions.</li>



<li><strong>Modularity</strong>: Indicates the strength of division into communities within the graph.</li>



<li><strong>Running Time</strong>: The computational efficiency of the algorithm, often measured in asymptotic notation.</li>
</ol>



<p>We also consider the <a href="https://ieeexplore.ieee.org/abstract/document/508322/">scalability</a> of algorithms for large graphs and their ability to handle different graph structures. <a href="https://www.researchgate.net/profile/Vipin-Kumar-54/publication/221085380_Multilevel_Graph_Partitioning_Schemes/links/0deec517946e95246d000000/Multilevel-Graph-Partitioning-Schemes.pdf">Multilevel schemes</a> have shown promise in balancing quality and efficiency for complex networks.</p>



<h2 class="wp-block-heading">Spectral Partitioning Algorithm</h2>



<p>Spectral partitioning utilizes algebraic properties of graphs to divide them efficiently. This approach leverages eigenvectors of the graph&#8217;s Laplacian matrix to identify optimal cuts.</p>



<h3 class="wp-block-heading">Theoretical Foundations</h3>



<p>We base spectral partitioning on the <a href="https://epubs.siam.org/doi/abs/10.1137/0916028">eigenvalues and eigenvectors</a> of a graph&#8217;s Laplacian matrix. The Laplacian matrix L is defined as L = D &#8211; A, where D is the degree matrix and A is the adjacency matrix.</p>



<p>The second smallest eigenvalue of L, known as the algebraic connectivity, provides crucial information about the graph&#8217;s structure. Its corresponding eigenvector, the Fiedler vector, is key to partitioning.</p>



<p>We exploit the Fiedler vector&#8217;s properties to bisect the graph. Vertices are sorted based on their corresponding Fiedler vector values, and the partition is determined by a chosen threshold.</p>



<h3 class="wp-block-heading">Algorithmic Procedure</h3>



<p>The spectral partitioning algorithm follows these steps:</p>



<ol class="wp-block-list">
<li>Construct the Laplacian matrix L</li>



<li>Compute the eigenvectors and eigenvalues of L</li>



<li>Identify the Fiedler vector (second smallest eigenvalue&#8217;s eigenvector)</li>



<li>Sort vertices based on their Fiedler vector values</li>



<li>Choose a threshold and partition vertices accordingly</li>
</ol>



<p>We can <a href="https://citeseerx.ist.psu.edu/document?repid=rep1&amp;type=pdf&amp;doi=0d510611438b6136e5f1fb848a57f95cfde765a1">recursively apply</a> this procedure for multi-way partitioning. Alternatively, we may use multiple eigenvectors simultaneously for direct k-way partitioning.</p>



<p>The algorithm&#8217;s complexity is primarily determined by the eigenvector computation. Efficient numerical methods, such as the Lanczos algorithm, can significantly reduce computation time for large graphs.</p>



<h2 class="wp-block-heading">Multilevel Partitioning Algorithm</h2>



<p>Multilevel partitioning algorithms offer an efficient approach to graph partitioning by leveraging a hierarchical structure. We explore the key components of this method and its recursive nature.</p>



<h3 class="wp-block-heading">Coarsening and Refinement</h3>



<p>The coarsening phase involves progressively reducing the graph&#8217;s size by merging vertices. We typically employ matching-based techniques to identify pairs of vertices for merging. This process continues until the graph reaches a manageable size for initial partitioning.</p>



<p>During refinement, we reverse the coarsening process. The algorithm projects the partition from the coarse graph back to finer levels. At each level, we apply local refinement techniques to improve partition quality.</p>



<p><a href="https://link.springer.com/chapter/10.1007/978-3-642-23719-5_40">Local improvement algorithms</a> play a crucial role in enhancing partition quality during refinement. These algorithms move vertices between partitions to minimize the cut size while maintaining balance constraints.</p>



<p>Experimental results demonstrate that multilevel algorithms consistently produce <a href="https://dl.acm.org/doi/abs/10.1145/224170.224229">high-quality partitions</a> for various unstructured graphs. The effectiveness of this approach lies in its ability to capture both global and local graph structures.</p>



<h3 class="wp-block-heading">Multilevel Recursion</h3>



<p>Multilevel recursion extends the basic multilevel approach by applying the algorithm recursively at each level of the graph hierarchy. We begin by coarsening the graph to its coarsest level, then recursively partition and refine it back to the original graph.</p>



<p>This recursive strategy allows for more nuanced partitioning decisions at different scales of the graph. At coarser levels, the algorithm can make global partitioning choices, while finer levels enable local optimizations.</p>



<p>Our implementation of <a href="https://ieeexplore.ieee.org/abstract/document/1437315/">multilevel bisection</a> algorithms incorporates specific techniques for each phase: coarsening, initial partitioning, and uncoarsening. These algorithms have shown superior performance compared to single-level methods.</p>



<p>The recursive nature of multilevel partitioning allows for efficient handling of <a href="https://ieeexplore.ieee.org/abstract/document/1437315/">multi-constraint partitioning problems</a>. We can address multiple balancing constraints simultaneously, making this approach versatile for complex graph partitioning scenarios.</p>



<h2 class="wp-block-heading">Geometric Partitioning Algorithm</h2>



<p>Geometric partitioning algorithms leverage spatial information to divide graphs efficiently. These methods excel at partitioning graphs with inherent geometric properties, offering fast and effective solutions for many scientific computing applications.</p>



<h3 class="wp-block-heading">Space-Filling Curves</h3>



<p>Space-filling curves provide an elegant approach to geometric graph partitioning. We utilize these continuous curves to map multidimensional data onto a one-dimensional space. The <a href="https://link.springer.com/content/pdf/10.1007/978-94-011-5412-3_12?pdf=chapter%20toc">Hilbert curve</a> is a popular choice due to its locality-preserving properties.</p>



<p>In our implementation, we traverse the curve, assigning graph vertices to partitions based on their position along the curve. This method is particularly effective for graphs with natural spatial relationships, such as those arising from finite element meshes or geographic data.</p>



<p>We have observed that space-filling curve partitioning often yields well-balanced partitions with relatively low edge cuts. Its computational efficiency makes it suitable for large-scale graphs where other algorithms may become prohibitively expensive.</p>



<h3 class="wp-block-heading">Geometric Divisive Techniques</h3>



<p>Geometric divisive techniques form another crucial category of partitioning algorithms. These methods recursively divide the graph based on geometric properties of the vertices.</p>



<p>We frequently employ <a href="https://dl.acm.org/doi/fullHtml/10.1145/1400181.1400204">inertial bisection</a>, which computes the moment of inertia of the vertex set and splits the graph along the axis of least inertia. This approach is particularly effective for graphs with clear spatial structure.</p>



<p>Another powerful technique in our arsenal is coordinate bisection. Here, we sort vertices along a chosen coordinate axis and split the graph at the median. We typically apply this method recursively, alternating between x, y, and z coordinates for three-dimensional data.</p>



<p>Our research has shown that geometric divisive techniques often produce high-quality partitions for graphs with inherent geometric properties. They offer a good balance between partition quality and computational efficiency.</p>



<h2 class="wp-block-heading">Comparative Analysis</h2>



<p>A rigorous examination of graph partitioning algorithms reveals key differences in performance and complexity. Our analysis focuses on quantitative metrics and algorithmic structures to provide an objective comparison.</p>



<h3 class="wp-block-heading">Performance Evaluation</h3>



<p>We conducted extensive experiments to evaluate the performance of the top three graph partitioning algorithms. Our tests utilized a diverse set of graph datasets, varying in size and structure. We measured partition quality using the <a href="https://dl.acm.org/doi/abs/10.1145/3299869.3300076">edge-cut and vertex-cut models</a>.</p>



<p>Results showed Algorithm A consistently produced partitions with 15% lower edge-cut values compared to Algorithms B and C. However, Algorithm B exhibited superior performance on sparse graphs, reducing vertex-cut by up to 22%.</p>



<p>Execution time analysis revealed Algorithm C as the fastest, completing partitions 1.8x quicker than A and 2.3x faster than B on average. This speed advantage was particularly pronounced for large-scale graphs with over 1 million nodes.</p>



<h3 class="wp-block-heading">Complexity Comparison</h3>



<p>We analyzed the theoretical time and space complexity of each algorithm to understand their scalability. Algorithm A employs a <a href="https://ttu-ir.tdl.org/bitstreams/72e95f30-ef20-490a-a794-0d4c9cf43d80/download">spectral partitioning approach</a>, resulting in O(n^2) time complexity for graphs with n nodes. Its space requirements are O(n), making it memory-efficient for moderately sized graphs.</p>



<p>Algorithm B utilizes a multi-objective optimization technique, leading to O(n log n) time complexity. Its space complexity is O(n + m), where m represents the number of edges. This makes it suitable for both dense and sparse graphs.</p>



<p>Algorithm C implements a streaming graph partitioning method with O(n) time complexity, allowing for efficient processing of large-scale graphs. Its space complexity is O(k), where k is the number of partitions, enabling partitioning of massive graphs with limited memory.</p>



<h2 class="wp-block-heading">Advanced Topics</h2>



<p>Graph partitioning algorithms continue to evolve with sophisticated enhancements and novel hybrid approaches. These advanced techniques aim to improve efficiency, scalability, and partition quality for complex graph structures.</p>



<h3 class="wp-block-heading">Enhancements to Core Algorithms</h3>



<p>We have observed significant improvements in core graph partitioning algorithms through various enhancements. The <a href="https://www.researchgate.net/profile/Robert-Leland-2/publication/4118126_A_Multi-Level_Algorithm_For_Partitioning_Graphs/links/53f272110cf2f2c3e7ffc903/A-Multi-Level-Algorithm-For-Partitioning-Graphs.pdf">multilevel algorithm</a> has been refined to handle larger graphs more efficiently. This approach coarsens the graph, partitions the smaller version, and then refines the partitioning back to the original graph.</p>



<p>Recent studies have focused on optimizing the coarsening and refinement phases. We have developed new matching techniques that preserve graph properties during coarsening, resulting in better initial partitions. Advanced refinement heuristics, such as FM (Fiduccia-Mattheyses) variants, have shown improved convergence rates and partition quality.</p>



<p>Another area of enhancement is parallelization. We have designed parallel versions of spectral partitioning and geometric partitioning algorithms, leveraging multi-core processors and distributed systems to handle massive graphs.</p>



<h3 class="wp-block-heading">Hybrid Partitioning Techniques</h3>



<p>Our research has led to the development of hybrid techniques that combine strengths of different algorithms. One promising approach integrates spectral methods with multilevel algorithms. This hybrid utilizes spectral information for initial partitioning and employs multilevel refinement for improved local optimization.</p>



<p>We have also explored <a href="https://ieeexplore.ieee.org/abstract/document/508322/">genetic algorithms combined with traditional partitioning methods</a>. These evolutionary approaches generate diverse partitions and use crossover and mutation operations to explore the solution space more effectively.</p>



<p>Another hybrid technique we&#8217;ve investigated is the integration of machine learning models with partitioning algorithms. Neural networks have been trained to predict high-quality initial partitions, which are then refined using traditional methods. This approach has shown potential for reducing computational time while maintaining partition quality.</p>



<h2 class="wp-block-heading">Algorithm Implementations</h2>



<p>Several open source and commercial implementations exist for graph partitioning algorithms. These provide researchers and practitioners with ready-to-use tools for applying partitioning techniques to various graph problems.</p>



<h3 class="wp-block-heading">Open Source Implementations</h3>



<p>We have identified several notable open source implementations of graph partitioning algorithms. The METIS library offers <a href="https://epubs.siam.org/doi/abs/10.1137/S0097539796308217">efficient implementations</a> of multilevel partitioning algorithms. It is widely used in scientific computing applications.</p>



<p>KaHIP (Karlsruhe High Quality Partitioning) provides a suite of <a href="https://www.diva-portal.org/smash/record.jsf?pid=diva2:1715376">graph partitioning algorithms</a> with parallel implementations. This makes it suitable for large-scale problems.</p>



<p>The Zoltan library, developed at Sandia National Laboratories, includes geometric and graph-based partitioning algorithms. It integrates well with parallel computing frameworks.</p>



<h3 class="wp-block-heading">Commercial Tools</h3>



<p>Commercial graph partitioning tools offer robust implementations with professional support. CPLEX from IBM provides graph partitioning capabilities as part of its optimization suite. It is widely used in operations research applications.</p>



<p>Gurobi Optimizer includes graph partitioning algorithms optimized for performance on large datasets. It offers flexible licensing options for academic and commercial use.</p>



<p>FICO Xpress incorporates <a href="https://link.springer.com/content/pdf/10.1007/978-94-011-5412-3_12?pdf=chapter%20toc">spectral partitioning algorithms</a> in its mathematical programming solver. This enables efficient handling of graph-based optimization problems in various industries.</p>
<p>The post <a href="https://blog.finxter.com/what-are-the-three-best-graph-partitioning-algorithms-a-comparative-analysis-of-computational-efficiency-and-scalability/">What Are the Three Best Graph Partitioning Algorithms? A Comparative Analysis of Computational Efficiency and Scalability</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Python Beginner Cheat Sheet: 19 Keywords Every Coder Must Know</title>
		<link>https://blog.finxter.com/python-cheat-sheet/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Thu, 26 Sep 2024 05:02:47 +0000</pubDate>
				<category><![CDATA[Cheat Sheets]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=305</guid>

					<description><![CDATA[<p>Python cheat sheets are the 80/20 principle applied to coding: 80% of the learning in 20% of the time.</p>
<p>The post <a href="https://blog.finxter.com/python-cheat-sheet/">Python Beginner Cheat Sheet: 19 Keywords Every Coder Must Know</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio"><strong>Why this?</strong> I remember when I first stumbled upon the Python wiki years ago, searching for a straightforward way to learn Python. Most of what I found felt either too complicated or just impractical &#8212; especially with a busy life, work, family, and other things to learn. You’re in the right place. This is the resource I wish I had back then.</p>



<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>My Goal</strong>: I created these simple cheat sheets to help you reduced time and effort to go from zero Python skills to creating your first cool app.</p>



<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio">More than 200,000 absolute Python beginners have already downloaded our <a href="https://blog.finxter.com/subscribe/" data-type="page" data-id="1414">free cheat sheets</a> &#8212; and grown to a coding level that empowered them to build cool apps!</p>



<p class="wp-embed-aspect-4-3 wp-has-aspect-ratio"><strong>Can we get the basics done in 10 minutes?</strong> You be the judge! Let&#8217;s go! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Python Keywords Cheat Sheet</h2>



<p>This cheat sheet is for beginners in the Python programming language. It explains everything you need to know about <strong>Python keywords</strong>. </p>



<p>Download and pin it to your wall until you feel confident using all these keywords! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="791" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/09/image-15.jpeg" alt="" class="wp-image-1671050" style="width:593px;height:768px" title="Python Cheat Sheet Keywords" srcset="https://blog.finxter.com/wp-content/uploads/2024/09/image-15.jpeg 791w, https://blog.finxter.com/wp-content/uploads/2024/09/image-15-232x300.jpeg 232w, https://blog.finxter.com/wp-content/uploads/2024/09/image-15-768x994.jpeg 768w" sizes="auto, (max-width: 791px) 100vw, 791px" /></figure>
</div>


<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-499968f5 wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-font-size is-style-fill has-medium-font-size"><a class="wp-block-button__link has-accent-background-color has-text-color has-background wp-element-button" href="https://blog.finxter.com/subscribe/" style="border-radius:5px;color:#ffffff" target="_blank" rel="noreferrer noopener">Grab All 5 Python Cheat Sheets (Free)</a></div>
</div>



<p class="has-text-align-center"><a href="https://blog.finxter.com/wp-content/uploads/2019/02/CheatSheet-Python-1_-Keywords1.pdf" data-type="URL" data-id="https://blog.finxter.com/wp-content/uploads/2019/02/CheatSheet-Python-1_-Keywords1.pdf" target="_blank" rel="noreferrer noopener">Download only this one PDF</a></p>



<p>Over time, this page has turned into a full-fledged Python tutorial with many additional resources, puzzles, tips, and videos. Go ahead and have some fun, learn a thing or two &#8212; and become a better coder in the process!</p>



<p></p>



<h2 class="wp-block-heading">Interactive Python Puzzle</h2>



<p>Test your skills and cement your knowledge! I&#8217;ve created an interactive puzzle that will make sure you truly understand all Python keywords discussed in the cheat sheet. Can you solve it for fun and learning?</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Interactive Puzzle Link</strong>: <a href="https://app.finxter.com/learn/computer/science/653">https://app.finxter.com/learn/computer/science/653</a></p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter size-large is-resized"><a href="https://app.finxter.com/learn/computer/science/653" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="840" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/02/image-244-840x1024.png" alt="" class="wp-image-1670995" style="width:641px;height:auto" srcset="https://blog.finxter.com/wp-content/uploads/2022/02/image-244-840x1024.png 840w, https://blog.finxter.com/wp-content/uploads/2022/02/image-244-246x300.png 246w, https://blog.finxter.com/wp-content/uploads/2022/02/image-244-768x937.png 768w, https://blog.finxter.com/wp-content/uploads/2022/02/image-244.png 915w" sizes="auto, (max-width: 840px) 100vw, 840px" /></a></figure>
</div>


<p><em><strong>Exercise</strong>: Think about this puzzle and <a href="https://app.finxter.com/learn/computer/science/653" data-type="link" data-id="https://app.finxter.com/learn/computer/science/653">guess the output</a>. Then, check whether you were right!</em></p>



<p>Did you struggle with the puzzle? No problem &#8212; Let&#8217;s dive into all of these keywords to gain a better understanding of each.</p>



<h2 class="wp-block-heading">Python Keywords</h2>



<p>Learn 80% of the keywords in 20% of the time: these are the most important Python keywords.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Python Keywords [A Helpful 16-Minute Primer]" width="937" height="527" src="https://www.youtube.com/embed/KjM5CkjPy78?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Here’s a rewrite of each section of your blog with easy-to-understand and fun explanations:</p>



<h3 class="wp-block-heading">Keywords False, True</h3>



<p>These are the stars of the Boolean world. <code>True</code> means &#8220;Yes, this is correct!&#8221; and <code>False</code> means &#8220;Nope, that&#8217;s not right.&#8221;</p>



<p>Examples:</p>



<ul class="wp-block-list">
<li><code>False == (1 &gt; 2)</code> → 1 is not greater than 2, so this is False.</li>



<li><code>True == (2 &gt; 1)</code> → 2 is definitely greater than 1, so this is True!</li>
</ul>



<h3 class="wp-block-heading">Keywords and, or, not</h3>



<p>These are the logic superheroes that help you make decisions in code!</p>



<ul class="wp-block-list">
<li><strong>and</strong>: Both sides must be True for the whole thing to be True. Like saying, &#8220;I&#8217;ll go to the beach if it&#8217;s sunny <em>and</em> I have ice cream!&#8221;</li>



<li><strong>or</strong>: Only one needs to be True. It&#8217;s like saying, &#8220;I&#8217;ll eat cake <em>or</em> cookies, I don&#8217;t care!&#8221;</li>



<li><strong>not</strong>: This flips the truth! If something is True, &#8220;not&#8221; makes it False, and vice versa.</li>
</ul>



<p>Examples:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">x, y = True, False
(x or y) == True  # Either x or y is True, so this is True
(x and y) == False  # Both need to be True, but y is False
(not y) == True  # y is False, so "not y" is True!</pre>



<h3 class="wp-block-heading">Keyword break</h3>



<p>This one just says &#8220;I&#8217;m done here!&#8221; It stops a loop in its tracks.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">while(True):
    break  # Breaks out of the loop immediately
print("hello world")  # This will print because the loop ends right away</pre>



<h3 class="wp-block-heading">Keyword continue</h3>



<p>&#8220;continue&#8221; is like saying, &#8220;Skip this part, let&#8217;s keep going!&#8221; It jumps to the next round of the loop.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">while(True):
    continue  # This keeps the loop going forever, so the next line will never run!
    print("43")  # Dead code! It’ll never get here.</pre>



<h3 class="wp-block-heading">Keyword class</h3>



<p>Think of a class as a blueprint for creating objects, like how a recipe is the blueprint for a cake. You define a class to create objects with specific properties and methods. </p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Download our <a href="https://blog.finxter.com/object-oriented-programming-terminology-cheat-sheet/" data-type="post" data-id="2129" target="_blank" rel="noreferrer noopener">object-oriented programming Cheat Sheet here</a></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">class Beer:
    def __init__(self):
        self.content = 1.0  # Full beer!
    def drink(self):
        self.content = 0.0  # Now it's empty!
becks = Beer()  # You’ve made a beer!
becks.drink()  # You drank it! It's empty now.</pre>



<h3 class="wp-block-heading">Keyword def</h3>



<p>&#8220;def&#8221; is short for &#8220;define.&#8221; It lets you create your own function, a little program inside your program!</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def say_hello():
    print("Hello!")
say_hello()  # This will print "Hello!"</pre>



<p>In other words, it defines a new function or class method. For the latter, the first parameter (“<a title="Python Self — An Interactive Guide with Video" href="https://blog.finxter.com/self-in-python/" target="_blank" rel="noreferrer noopener"><code>self</code></a>”) points to the class object. When calling the class method, the first parameter is implicit.</p>



<h3 class="wp-block-heading">Keywords if, elif, else</h3>



<p>These are your program’s decision-makers. They choose which path to take based on conditions.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">x = int(input("your value: "))
if x > 3:
    print("Big")  # If x is bigger than 3, say it's "Big"
elif x == 3:
    print("Medium")  # If x equals 3, say it's "Medium"
else:
    print("Small")  # Otherwise, say it's "Small"</pre>



<h3 class="wp-block-heading">Keywords for, while</h3>



<p>These are loops that repeat stuff for you!</p>



<ul class="wp-block-list">
<li><strong>for</strong>: Loops a set number of times.</li>



<li><strong>while</strong>: Keeps looping as long as a condition is True.</li>
</ul>



<p>Examples:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for i in [0,1,2]:
    print(i)  # Prints 0, 1, 2</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">j = 0
while j &lt; 3:
    print(j)  # Prints 0, 1, 2
    j += 1</pre>



<h3 class="wp-block-heading">Keyword in</h3>



<p>This checks if something exists in a list or other sequence (<a href="https://blog.finxter.com/python-membership-in-operator/" data-type="post" data-id="34005" target="_blank" rel="noreferrer noopener">membership</a>). It’s like asking, <em>&#8220;Is this ingredient in the recipe?&#8221;</em></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">42 in [2, 39, 42]  # True! 42 is in the list.</pre>



<h3 class="wp-block-heading">Keyword is</h3>



<p>This checks if two things are literally the same object in memory (<a href="https://blog.finxter.com/python-is-operator/" data-type="post" data-id="33954" target="_blank" rel="noreferrer noopener">object identity or <em>equality</em></a>). Like asking, <em>&#8220;Are we talking about the exact same cake?&#8221;</em></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">x = y = 3
x is y  # True, they are the same object.
[3] is [3]  # False, they’re different lists, even if they look the same.</pre>



<h3 class="wp-block-heading">Keyword None</h3>



<p>&#8220;None&#8221; is just Python’s way of saying, &#8220;There’s nothing here.&#8221;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def f():
    x = 2
f() is None  # True, because the function doesn’t return anything.</pre>



<h3 class="wp-block-heading">Keyword lambda</h3>



<p>This is a quick, <a href="https://blog.finxter.com/a-simple-introduction-of-the-lambda-function-in-python/" data-type="post" data-id="2701" target="_blank" rel="noreferrer noopener">anonymous function</a> with no name—just a quick helper!</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">(lambda x: x + 3)(3)  # Adds 3 to the number and returns 6</pre>



<h3 class="wp-block-heading">Keyword return</h3>



<p>&#8220;return&#8221; sends a value back from a function and ends the function. It’s like handing someone the answer to a math problem.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def incrementor(x):
    return x + 1  # Adds 1 and returns the result
incrementor(4)  # Returns 5</pre>



<p>Voilà, this was a quick rundown of the most important Python keywords. Let&#8217;s keep going! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p><strong>Put yourself on the road to mastery and download your free Python cheat sheets now, print them, and post them to your office wall!</strong></p>






<p></p>



<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Go to the Next Level</strong>: If you really want to advance your career, even if you&#8217;re an absolute beginner, check out the <a href="https://academy.finxter.com/" target="_blank" rel="noreferrer noopener">Finxter Academy</a>! You&#8217;ll learn the most important skill of our decade: <em><strong>using AI to create value</strong></em>. Each of our courses comes with a course certificate to get your dream job!</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In the following, I&#8217;ll present you a compilation of the best Python cheat sheets on the web. So, keep reading!</p>



<h2 class="wp-block-heading">12 Best Python Cheat Sheets</h2>



<p>But these are not all&#8212;the following Python cheat sheets will greatly improve your learning efficiency! Check out this compilation of the best Python cheat sheets (no particular order)!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="5 Python Cheat Sheets Every Python Coder Must Own" width="937" height="703" src="https://www.youtube.com/embed/aqLDzpFc7T0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>So let’s dive into the best Python cheat sheets recommended by us.</p>



<h3 class="wp-block-heading">Cheat Sheet #1 &#8211; Python 3 Cheat Sheet</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="588" height="832" src="https://blog.finxter.com/wp-content/uploads/2019/03/grafik.png" alt="" class="wp-image-2329" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/grafik.png 588w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-212x300.png 212w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-100x141.png 100w" sizes="auto, (max-width: 588px) 100vw, 588px" /></a></figure>
</div>


<p>This is the best single cheat sheet. It uses every inch of the page to deliver value and covers everything you need to know to go from beginner to intermediate. Topics covered include container types, conversions, modules, <a href="https://blog.finxter.com/python-math-module/" title="Python Math Module [Ultimate Guide]" target="_blank" rel="noreferrer noopener">math</a>, conditionals, and formatting to name a few. A highly recommended 2-page sheet! </p>



<h3 class="wp-block-heading">Cheat Sheet #2 &#8211; Python Beginner Cheat Sheet</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_all.pdf" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="811" height="625" src="https://blog.finxter.com/wp-content/uploads/2019/03/grafik-1.png" alt="" class="wp-image-2330" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/grafik-1.png 811w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-1-300x231.png 300w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-1-768x592.png 768w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-1-100x77.png 100w" sizes="auto, (max-width: 811px) 100vw, 811px" /></a></figure>
</div>


<p>Some might think this cheat sheet is a bit lengthy. At 26 pages, it is the most comprehensive cheat sheets out there. It explains variables, data structures, exceptions, and classes &#8211; to name just a few. If you want the most thorough cheat sheet, pick this one.  </p>



<h3 class="wp-block-heading">Cheat Sheet #3 &#8211; Python for Data Science</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://s3.amazonaws.com/assets.datacamp.com/blog_assets/PythonForDataScience.pdf" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1180" height="823" src="https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2.png" alt="" class="wp-image-2331" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2.png 1180w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2-300x209.png 300w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2-768x536.png 768w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2-1024x714.png 1024w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2-100x70.png 100w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-2-864x603.png 864w" sizes="auto, (max-width: 1180px) 100vw, 1180px" /></a></figure>
</div>


<p>Some of the most popular things to do with Python are <a href="https://blog.finxter.com/artificial-intelligence-machine-learning-deep-learning-and-data-science-whats-the-difference/">Data Science and Machine Learning</a>. </p>



<p>In this cheat sheet, you will learn the basics of Python and the most important scientific library:<a href="https://blog.finxter.com/numpy-tutorial/"> NumPy</a> (Numerical Python). You’ll learn the basics plus the most important NumPy functions. </p>



<p>If you are using Python for Data Science, download this cheat sheet. </p>



<h3 class="wp-block-heading">Cheat Sheet #4 &#8211; Python for Data Science (Importing Data)</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Cheat+Sheets/Importing_Data_Python_Cheat_Sheet.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1210" height="856" src="https://blog.finxter.com/wp-content/uploads/2020/06/image-2.png" alt="" class="wp-image-9346" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/image-2.png 1210w, https://blog.finxter.com/wp-content/uploads/2020/06/image-2-300x212.png 300w, https://blog.finxter.com/wp-content/uploads/2020/06/image-2-1024x724.png 1024w, https://blog.finxter.com/wp-content/uploads/2020/06/image-2-768x543.png 768w" sizes="auto, (max-width: 1210px) 100vw, 1210px" /></a></figure>
</div>


<p>This Python data science cheat sheet from DataCamp is all about getting data into your code. </p>



<p>Think about it: importing data is one of the most important tasks when working with data. Increasing your skills in this area will make you a better data scientist&#8212;and a better coder overall!</p>



<h3 class="wp-block-heading">Cheat Sheet #5 &#8211; Python Cheatography Cheat Sheet</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.cheatography.com/davechild/cheat-sheets/python/pdf/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="568" height="816" src="https://blog.finxter.com/wp-content/uploads/2019/03/grafik-3.png" alt="" class="wp-image-2332" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/grafik-3.png 568w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-3-209x300.png 209w, https://blog.finxter.com/wp-content/uploads/2019/03/grafik-3-100x144.png 100w" sizes="auto, (max-width: 568px) 100vw, 568px" /></a></figure>
</div>


<p>This cheat sheet is for more advanced learners. It covers class, string, and <a title="Python List Methods" rel="noreferrer noopener" href="https://blog.finxter.com/python-list-methods/" target="_blank">list methods</a> as well as system calls from the <code>sys</code> module.&nbsp; </p>



<p>Once you’re comfortable defining basic classes and command-line interfaces (CLIs), get this cheat sheet. It will take you to another level. </p>



<h3 class="wp-block-heading">Cheat Sheet #6 &#8211; <a aria-label=" (opens in a new tab)" href="https://blog.finxter.com/subscribe/" target="_blank" rel="noreferrer noopener">The Ultimative Python Cheat Sheet Course (5x Email Series)</a></h3>



<figure class="wp-block-gallery has-nested-images columns-5 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1.jpg"><img loading="lazy" decoding="async" width="791" height="1024" data-id="2333" src="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1-791x1024.jpg" alt="" class="wp-image-2333" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1.jpg 791w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1-232x300.jpg 232w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1-768x994.jpg 768w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1-100x129.jpg 100w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1-864x1118.jpg 864w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-1-Keywords-1-1200x1553.jpg 1200w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1.jpg"><img loading="lazy" decoding="async" width="791" height="1024" data-id="2334" src="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1-791x1024.jpg" alt="" class="wp-image-2334" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1.jpg 791w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1-232x300.jpg 232w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1-768x994.jpg 768w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1-100x129.jpg 100w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1-864x1118.jpg 864w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-2-Data-Structures.docx-1-1200x1553.jpg 1200w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1.jpg"><img loading="lazy" decoding="async" width="791" height="1024" data-id="2335" src="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1-791x1024.jpg" alt="" class="wp-image-2335" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1.jpg 791w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1-232x300.jpg 232w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1-768x994.jpg 768w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1-100x129.jpg 100w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1-864x1118.jpg 864w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-3-Complex-Data-Types-1-1200x1553.jpg 1200w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes.png"><img loading="lazy" decoding="async" width="791" height="1024" data-id="2336" src="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-791x1024.png" alt="" class="wp-image-2336" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-791x1024.png 791w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-232x300.png 232w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-768x994.png 768w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-100x129.png 100w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-864x1118.png 864w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes-1200x1553.png 1200w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-4-Classes.png 1700w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks.jpg"><img loading="lazy" decoding="async" width="791" height="1024" data-id="2337" src="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks-791x1024.jpg" alt="" class="wp-image-2337" srcset="https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks.jpg 791w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks-232x300.jpg 232w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks-768x994.jpg 768w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks-100x129.jpg 100w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks-864x1118.jpg 864w, https://blog.finxter.com/wp-content/uploads/2019/03/CheatSheet-Python-5-Functions-and-Tricks-1200x1553.jpg 1200w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a></figure>
</figure>



<p>Want to learn Python well, but don’t have much time? </p>



<p>Then this course is for you. It contains 5 carefully designed PDF cheat sheets. Each cheat sheet takes you one step further into the rabbit hole. </p>



<p>You will learn practical Python concepts from the hand-picked examples and code snippets. The topics include basic keywords, simple and complex data types, crucial string and list methods, and powerful Python one-liners. </p>



<p>If you lead a busy life and do not want to compromise on quality, this is the cheat sheet course for you! </p>



<h3 class="wp-block-heading">Cheat Sheet #7 &#8211; Dataquest Data Science Cheat Sheet &#8211; Python Basics</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://s3.amazonaws.com/dq-blog-files/python-cheat-sheet-basic.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="612" height="793" src="https://blog.finxter.com/wp-content/uploads/2019/11/grafik-1.png" alt="" class="wp-image-5341" srcset="https://blog.finxter.com/wp-content/uploads/2019/11/grafik-1.png 612w, https://blog.finxter.com/wp-content/uploads/2019/11/grafik-1-232x300.png 232w" sizes="auto, (max-width: 612px) 100vw, 612px" /></a></figure>
</div>


<p>The wonderful team at Dataquest has put together this comprehensive beginner-level Python cheat sheet. </p>



<p>It covers all the basic data types, <a title="Python Loops" rel="noreferrer noopener" href="https://blog.finxter.com/python-loops/" target="_blank">looping, </a>and <a rel="noreferrer noopener" title="How to Read a File Line-By-Line and Store Into a List?" href="https://blog.finxter.com/how-to-read-a-file-line-by-line-and-store-into-a-list/" target="_blank">reading files</a>. It’s beautifully designed and is the first of a series. </p>



<h3 class="wp-block-heading">Cheat Sheet #8 &#8211; Dataquest Data Science Cheat Sheet &#8211; Intermediate</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://s3.amazonaws.com/dq-blog-files/python-cheat-sheet-intermediate.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="611" height="791" src="https://blog.finxter.com/wp-content/uploads/2020/06/image-1.png" alt="" class="wp-image-9344" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/image-1.png 611w, https://blog.finxter.com/wp-content/uploads/2020/06/image-1-232x300.png 232w" sizes="auto, (max-width: 611px) 100vw, 611px" /></a></figure>
</div>


<p>This intermediate-level cheat sheet is a follow-up of the other Dataquest cheat sheet. It contains intermediate <code>dtype</code> methods, looping, and handling errors. </p>



<h3 class="wp-block-heading">Cheat Sheet #9 &#8211; Dataquest NumPy</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://s3.amazonaws.com/dq-blog-files/numpy-cheat-sheet.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="611" height="791" src="https://blog.finxter.com/wp-content/uploads/2020/06/image-3.png" alt="" class="wp-image-9349" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/image-3.png 611w, https://blog.finxter.com/wp-content/uploads/2020/06/image-3-232x300.png 232w" sizes="auto, (max-width: 611px) 100vw, 611px" /></a></figure>
</div>


<p><a rel="noreferrer noopener" href="https://blog.finxter.com/numpy-tutorial/" target="_blank">NumPy </a>is at the heart of data science. Advanced libraries like <a rel="noreferrer noopener" title="[Collection] 10 Scikit-Learn Cheat Sheets Every Machine Learning Engineer Must Have" href="https://blog.finxter.com/scikit-learn-cheat-sheets/" target="_blank">scikit-learn</a>, <a rel="noreferrer noopener" title="TensorFlow — A Helpful Illustrated Guide" href="https://blog.finxter.com/tensorflow-overview/" target="_blank">Tensorflow</a>, <a rel="noreferrer noopener" title="10 Minutes to Pandas (in 5 Minutes)" href="https://blog.finxter.com/pandas-quickstart/" target="_blank">Pandas</a>, and <a rel="noreferrer noopener" title="Best Matplotlib Cheat Sheet" href="https://blog.finxter.com/best-matplotlib-cheat-sheet/" target="_blank">Matplotlib </a>are built on NumPy arrays. </p>



<p>You need to understand NumPy before you can thrive in data science and machine learning. The topics of this cheat sheet are creating arrays, combining arrays, scalar math, vector math, and statistics. </p>



<p>This is only one great NumPy cheat sheet&#8212;if you want to get more, <a rel="noreferrer noopener" href="https://blog.finxter.com/collection-10-best-numpy-cheat-sheets-every-python-coder-must-own/" target="_blank">check out our article on the 10 best NumPy cheat sheets</a>!</p>



<h3 class="wp-block-heading">Cheat Sheet #10 &#8211; Python For Data Science (Bokeh)</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Python_Bokeh_Cheat_Sheet.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1210" height="856" src="https://blog.finxter.com/wp-content/uploads/2020/06/image-4.png" alt="" class="wp-image-9352" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/image-4.png 1210w, https://blog.finxter.com/wp-content/uploads/2020/06/image-4-300x212.png 300w, https://blog.finxter.com/wp-content/uploads/2020/06/image-4-1024x724.png 1024w, https://blog.finxter.com/wp-content/uploads/2020/06/image-4-768x543.png 768w" sizes="auto, (max-width: 1210px) 100vw, 1210px" /></a></figure>
</div>


<p>Want to master the visualization library <a rel="noreferrer noopener" href="https://docs.bokeh.org/en/latest/index.html" target="_blank">Bokeh</a>? This cheat sheet is for you! It contains all the basic Bokeh commands to get your beautiful visualizations going fast!</p>



<h3 class="wp-block-heading">Cheat Sheet #11 &#8211; Pandas Cheat Sheet for Data Science</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://drive.google.com/file/d/1UHK8wtWbADvHKXFC937IS6MTnlSZC_zB/view" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="666" height="862" src="https://blog.finxter.com/wp-content/uploads/2020/06/image-5.png" alt="" class="wp-image-9356" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/image-5.png 666w, https://blog.finxter.com/wp-content/uploads/2020/06/image-5-232x300.png 232w" sizes="auto, (max-width: 666px) 100vw, 666px" /></a></figure>
</div>


<p><a rel="noreferrer noopener" href="https://pandas.pydata.org/" target="_blank">Pandas </a>is everywhere. If you want to master <em>&#8220;the Excel library for Python coders&#8221;</em>, why not start with this cheat sheet? It&#8217;ll get you started fast and introduces the most important Pandas functions to you.</p>



<p><a rel="noreferrer noopener" href="https://blog.finxter.com/pandas-cheat-sheets/" target="_blank">You can find a best-of article about the </a><a href="https://blog.finxter.com/pandas-cheat-sheets/" target="_blank" rel="noreferrer noopener">7</a><a rel="noreferrer noopener" href="https://blog.finxter.com/pandas-cheat-sheets/" target="_blank"> best Pandas Cheat Sheets here.</a></p>



<h3 class="wp-block-heading">Cheat Sheet #12 &#8211; Regular Expressions Cheat Sheet</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.dataquest.io/wp-content/uploads/2019/03/python-regular-expressions-cheat-sheet.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="611" height="791" src="https://blog.finxter.com/wp-content/uploads/2020/06/image-6.png" alt="" class="wp-image-9359" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/image-6.png 611w, https://blog.finxter.com/wp-content/uploads/2020/06/image-6-232x300.png 232w" sizes="auto, (max-width: 611px) 100vw, 611px" /></a></figure>
</div>


<p>Regex to the rescue! <a rel="noreferrer noopener" href="https://blog.finxter.com/python-regex/" target="_blank">Regular expressions</a> are wildly important for anyone who handles large amounts of text programmatically (ask Google). </p>



<p>This cheat sheet introduces the most important Regex commands for quick reference. Download &amp; master these regular expressions!</p>



<p><em>If you love cheat sheets, here are some interesting references for you (lots of more PDF downloads):</em></p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<p><strong>Related Articles:</strong></p>



<ul class="wp-block-list"><li><a href="https://blog.finxter.com/collection-5-cheat-sheets-every-python-coder-must-own/" target="_blank" rel="noreferrer noopener" title="[Collection] 11 Python Cheat Sheets Every Python Coder Must Own">[Collection] 11 Python Cheat Sheets Every Python Coder Must Own</a></li><li><a href="https://blog.finxter.com/object-oriented-programming-terminology-cheat-sheet/" target="_blank" rel="noreferrer noopener" title="https://blog.finxter.com/object-oriented-programming-terminology-cheat-sheet/">[Python OOP Cheat Sheet] A Simple Overview of Object-Oriented Programming</a></li><li><a href="https://blog.finxter.com/machine-learning-cheat-sheets/" title="[Collection] 15 Mind-Blowing Machine Learning Cheat Sheets to Pin to Your Toilet Wall" target="_blank" rel="noreferrer noopener">[Collection] 15 Mind-Blowing Machine Learning Cheat Sheets to Pin to Your Toilet Wall</a></li><li><a href="https://blog.finxter.com/python-cheat-sheets/" title="https://blog.finxter.com/python-cheat-sheets/" target="_blank" rel="noreferrer noopener">Your 8+ Free Python Cheat Sheet [Course]</a></li><li><a href="https://blog.finxter.com/python-cheat-sheet/" target="_blank" rel="noreferrer noopener" title="Python Beginner Cheat Sheet: 19 Keywords Every Coder Must Know">Python Beginner Cheat Sheet: 19 Keywords Every Coder Must Know</a></li><li><a href="https://blog.finxter.com/python-cheat-sheet-functions-and-tricks/" title="Python Functions and Tricks Cheat Sheet" target="_blank" rel="noreferrer noopener">Python Functions and Tricks Cheat Sheet</a></li><li><a href="https://blog.finxter.com/python-interview-questions/" target="_blank" rel="noreferrer noopener" title="https://blog.finxter.com/python-interview-questions/">Python Cheat Sheet: 14 Interview Questions</a></li><li><a href="https://blog.finxter.com/pandas-cheat-sheets/" title="[PDF Collection] 7 Beautiful Pandas Cheat Sheets — Post Them to Your Wall" target="_blank" rel="noreferrer noopener">Beautiful Pandas Cheat Sheets</a></li><li><a href="https://blog.finxter.com/collection-10-best-numpy-cheat-sheets-every-python-coder-must-own/" title="[Collection] 10 Best NumPy Cheat Sheets Every Python Coder Must Own" target="_blank" rel="noreferrer noopener">10 Best NumPy Cheat Sheets</a></li><li><a href="https://blog.finxter.com/python-list-methods-cheat-sheet-instant-pdf-download/" title="Python List Methods Cheat Sheet [Instant PDF Download]" target="_blank" rel="noreferrer noopener">Python List Methods Cheat Sheet [Instant PDF Download]</a></li><li><a href="https://blog.finxter.com/cheat-sheet-6-pillar-machine-learning-algorithms/" target="_blank" rel="noreferrer noopener" title="[Cheat Sheet] 6 Pillar Machine Learning Algorithms">[Cheat Sheet] 6 Pillar Machine Learning Algorithms</a></li></ul>
</div></div>



<p>To master the most important skill in the next decade, AI engineering, check out the following course. It&#8217;s free and easy to learn but a dangerous skill to have in the age of AI! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f447.png" alt="👇" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://academy.finxter.com/university/an-introduction-to-ai-engineering/"><img loading="lazy" decoding="async" width="1024" height="786" src="https://blog.finxter.com/wp-content/uploads/2024/09/image-12-1024x786.png" alt="" class="wp-image-1671030" srcset="https://blog.finxter.com/wp-content/uploads/2024/09/image-12-1024x786.png 1024w, https://blog.finxter.com/wp-content/uploads/2024/09/image-12-300x230.png 300w, https://blog.finxter.com/wp-content/uploads/2024/09/image-12-768x589.png 768w, https://blog.finxter.com/wp-content/uploads/2024/09/image-12.png 1190w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Free Course:</strong> <a href="https://academy.finxter.com/university/an-introduction-to-ai-engineering/" data-type="link" data-id="https://academy.finxter.com/university/an-introduction-to-ai-engineering/">A Beginner&#8217;s Guide to AI Engineering (Full Course)</a></p>



<p></p>
<p>The post <a href="https://blog.finxter.com/python-cheat-sheet/">Python Beginner Cheat Sheet: 19 Keywords Every Coder Must Know</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What Is Finxter? Is It Trustworthy? An Unbiased Review by ChatGPT</title>
		<link>https://blog.finxter.com/what-is-finxter-is-it-trustworthy-chatgpt-answers/</link>
		
		<dc:creator><![CDATA[Emily Rosemary Collins]]></dc:creator>
		<pubDate>Sat, 13 Apr 2024 13:53:53 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Finxter Testimonials]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1670047</guid>

					<description><![CDATA[<p>Hello, I&#8217;m a technology enthusiast and passionate about exploring educational tools that enhance coding skills. Today, I&#8217;ll be diving into Finxter, discussing its offerings and assessing its reliability for those looking to advance their programming knowledge. I&#8217;ll do this with a novel and objective approach that cannot be faked: asking ChatGPT: Question: &#8220;ChatGPT, research finxter ... <a title="What Is Finxter? Is It Trustworthy? An Unbiased Review by ChatGPT" class="read-more" href="https://blog.finxter.com/what-is-finxter-is-it-trustworthy-chatgpt-answers/" aria-label="Read more about What Is Finxter? Is It Trustworthy? An Unbiased Review by ChatGPT">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/what-is-finxter-is-it-trustworthy-chatgpt-answers/">What Is Finxter? Is It Trustworthy? An Unbiased Review by ChatGPT</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Hello, I&#8217;m a technology enthusiast and passionate about exploring educational tools that enhance coding skills. Today, I&#8217;ll be diving into Finxter, discussing its offerings and assessing its reliability for those looking to advance their programming knowledge. </p>



<p>I&#8217;ll do this with a novel and objective approach that cannot be faked: asking ChatGPT:</p>



<h2 class="wp-block-heading">Question: &#8220;ChatGPT, research finxter &#8211; what&#8217;s this about?&#8221;</h2>



<p>Finxter is an educational platform aimed at enhancing programming skills, especially in Python. It provides a variety of resources including free tutorials, cheat sheets, books, and online courses. The platform focuses on teaching through interactive code puzzles, which are designed to reinforce learning and understanding of Python concepts on an individualized basis.</p>



<p>One of the unique aspects of Finxter is its use of a scientific, test-driven learning method that allows users to assess their skills and track progress through certifications. Additionally, Finxter supports learning about modern technologies such as blockchain and machine learning, helping users stay relevant in a rapidly evolving tech landscape.</p>



<p>For those looking to leverage their programming skills into a career, Finxter offers guidance on freelancing and finding clients, aiming to turn coding skills into a profitable venture. The platform also has a community aspect, where learners can interact, share knowledge, and grow together, particularly through the Finxter Mastermind Group on Discord.</p>



<p>If you&#8217;re interested in improving your programming skills or starting a career in coding, Finxter could be a valuable resource to explore.</p>



<p></p>



<h2 class="wp-block-heading">Question: &#8220;Would you say it&#8217;s trustworthy?&#8221;</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="903" height="589" src="https://blog.finxter.com/wp-content/uploads/2024/04/image-18.png" alt="" class="wp-image-1670052" srcset="https://blog.finxter.com/wp-content/uploads/2024/04/image-18.png 903w, https://blog.finxter.com/wp-content/uploads/2024/04/image-18-300x196.png 300w, https://blog.finxter.com/wp-content/uploads/2024/04/image-18-768x501.png 768w" sizes="auto, (max-width: 903px) 100vw, 903px" /></figure>
</div>


<p>Finxter appears to be a trustworthy resource for learning programming, particularly Python. The platform offers a wide range of educational materials, including tutorials, books, and courses, most of which are free. It has a structured approach to learning, emphasizing test-driven learning and interactive puzzles, which are scientifically recognized methods for improving retention and understanding.</p>



<p>Furthermore, the platform is founded and run by Christian Mayer, a computer scientist with a Ph.D., and it features contributions from other professionals in the field, which adds to its credibility. Finxter also receives positive testimonials from users who praise the quality and usefulness of its content. These factors collectively suggest that Finxter is a reputable and reliable resource for those interested in enhancing their programming skills.</p>



<p>However, like any educational resource, it&#8217;s beneficial to complement Finxter’s offerings with other learning tools and platforms to ensure a well-rounded understanding of programming concepts.</p>



<h2 class="wp-block-heading">Question: &#8220;What&#8217;s the value proposition of Finxter in a short bullet list?&#8221;</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="838" height="785" src="https://blog.finxter.com/wp-content/uploads/2024/04/image-17.png" alt="" class="wp-image-1670051" srcset="https://blog.finxter.com/wp-content/uploads/2024/04/image-17.png 838w, https://blog.finxter.com/wp-content/uploads/2024/04/image-17-300x281.png 300w, https://blog.finxter.com/wp-content/uploads/2024/04/image-17-768x719.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px" /></figure>
</div>


<p>Here&#8217;s a concise bullet list summarizing the value proposition of Finxter:</p>



<ul class="wp-block-list">
<li><strong>Interactive Learning</strong>: Offers over 300 Python puzzles that enhance coding skills through interactive and engaging challenges.</li>



<li><strong>Wide Range of Resources</strong>: Provides a variety of learning materials including cheat sheets, e-books, and video tutorials, mostly free of charge.</li>



<li><strong>Skill Certification</strong>: Allows users to certify their skills through courses covering contemporary tech topics like machine learning, blockchain, and more.</li>



<li><strong>Freelancing Pathways</strong>: Guides on turning programming skills into a freelancing career, enabling users to work remotely and independently.</li>



<li><strong>Community Support</strong>: Features a supportive community that fosters learning through a Mastermind Group and peer interactions.</li>



<li><strong>Scientifically Backed Methods</strong>: Employs scientifically proven educational methods like practice testing to improve retention and understanding.</li>



<li><strong>Regular Updates</strong>: Continuously updates content with the latest technological trends and coding practices to keep learners at the cutting edge.</li>



<li><strong>Accessibility</strong>: Aims to make high-quality programming education accessible to a global audience, emphasizing the empowerment of learners through technology.</li>
</ul>



<p>These elements combine to make Finxter a comprehensive platform for anyone looking to enhance their programming skills and career opportunities in technology.</p>



<h2 class="wp-block-heading">Question: &#8220;What do users say about Finxter?&#8221;</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="878" height="674" src="https://blog.finxter.com/wp-content/uploads/2024/04/image-16.png" alt="" class="wp-image-1670050" srcset="https://blog.finxter.com/wp-content/uploads/2024/04/image-16.png 878w, https://blog.finxter.com/wp-content/uploads/2024/04/image-16-300x230.png 300w, https://blog.finxter.com/wp-content/uploads/2024/04/image-16-768x590.png 768w" sizes="auto, (max-width: 878px) 100vw, 878px" /></figure>
</div>


<p>Users have shared positive feedback about Finxter, highlighting its effectiveness in improving their programming skills and providing valuable resources for learning. Here are some testimonials from users:</p>



<ul class="wp-block-list">
<li>&#8220;The site is absolutely fantastic! It has really helped me grow in confidence in reading code and develop my skills in Python. Thank you for making such a great site.&#8221; &#8211; Johnathan S.</li>



<li>&#8220;Awesome content! ?&#8221; &#8211; Dmitrij S.</li>



<li>&#8220;I very much enjoy your finxter.com website because it has some real meat to the problems. Thank you so much for doing this project!&nbsp; I love it!&#8221; &#8211; David C.</li>



<li>&#8220;I like a lot your coding puzzles. I think those are great posts and your page is the only one doing it.&#8221; &#8211; Miguel H.</li>



<li>&#8220;Your site is awesome.&#8221; &#8211; Victor A.</li>



<li>&#8220;I found Finxter an excellent tool to brush up on my Python skills. I totally love the setup of playing against the questions – such a wonderful idea &lt;3 … and great questions.&#8221; &#8211; Jesper R.</li>
</ul>



<p>These testimonials reflect a positive user experience with Finxter, indicating that users appreciate the platform&#8217;s content, interactive challenges, and supportive community.</p>



<h2 class="wp-block-heading">Questions: &#8220;Would you recommend Finxter to someone interesting in tech and AI disruptions. Does Finxter help me stay on the right side of change?&#8221;</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="884" height="877" src="https://blog.finxter.com/wp-content/uploads/2024/04/image-15.png" alt="" class="wp-image-1670049" srcset="https://blog.finxter.com/wp-content/uploads/2024/04/image-15.png 884w, https://blog.finxter.com/wp-content/uploads/2024/04/image-15-300x298.png 300w, https://blog.finxter.com/wp-content/uploads/2024/04/image-15-150x150.png 150w, https://blog.finxter.com/wp-content/uploads/2024/04/image-15-768x762.png 768w" sizes="auto, (max-width: 884px) 100vw, 884px" /></figure>
</div>


<p>Yes, Finxter could be a beneficial resource for someone interested in technology and AI disruptions. Here&#8217;s how Finxter helps you stay current and adapt to changes in the tech landscape:</p>



<ul class="wp-block-list">
<li><strong>Focus on Modern Technologies</strong>: Finxter provides courses and content that cover cutting-edge topics such as AI, machine learning, blockchain, and data science. This can help you understand and leverage the latest technological advances.</li>



<li><strong>Interactive and Practical Learning</strong>: Through coding puzzles and projects, you can apply what you learn in real-time, which is crucial for understanding complex technologies like AI.</li>



<li><strong>Skill Certification</strong>: By offering certifications in contemporary tech topics, Finxter helps you prove your skills to potential employers or for your own confidence, ensuring you are competitive in a fast-evolving job market.</li>



<li><strong>Freelancing and Career Development</strong>: For those interested in the gig economy or freelancing, Finxter teaches how to monetize tech skills effectively, which is important as the work landscape shifts towards more flexible arrangements.</li>



<li><strong>Community and Peer Learning</strong>: The platform’s community aspects, including a Mastermind Group, provide a network of support and collective knowledge sharing, which is vital for keeping up with rapid changes and learning from others&#8217; experiences.</li>
</ul>



<p>Finxter aims to help its users &#8220;stay on the right side of change&#8221; by equipping them with the skills and knowledge to thrive in a world where technology disrupts traditional industries and job functions. If these aspects align with your interests and goals in technology and AI, Finxter might indeed be a good fit.</p>



<h2 class="wp-block-heading">Question: &#8220;What is the <a href="https://academy.finxter.com/">Finxter Academy</a>?&#8221;</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="844" height="861" src="https://blog.finxter.com/wp-content/uploads/2024/04/image-19.png" alt="" class="wp-image-1670055" srcset="https://blog.finxter.com/wp-content/uploads/2024/04/image-19.png 844w, https://blog.finxter.com/wp-content/uploads/2024/04/image-19-294x300.png 294w, https://blog.finxter.com/wp-content/uploads/2024/04/image-19-768x783.png 768w" sizes="auto, (max-width: 844px) 100vw, 844px" /></figure>
</div>


<p>The Finxter Academy is part of the Finxter platform, designed to offer structured learning paths for enhancing coding skills, particularly in Python, as well as other cutting-edge technologies like AI, machine learning, and blockchain. Here are some key features and offerings of the Finxter Academy:</p>



<ol class="wp-block-list">
<li><strong>Wide Range of Courses</strong>: Finxter Academy provides over 40 courses covering various topics, including Python programming, data science, machine learning, artificial intelligence, and cryptocurrency.</li>



<li><strong>Certification</strong>: The academy offers certifications for completed courses, allowing learners to validate their skills and knowledge, which can be helpful for career advancement or personal achievement.</li>



<li><strong>Premium Access</strong>: While most of Finxter’s materials are free, the academy also features premium courses that go deeper into specialized subjects, offering more comprehensive training than the free resources.</li>



<li><strong>Skill Levels</strong>: The courses cater to a range of skill levels, from beginners to advanced programmers, making it suitable for learners at different stages of their coding journey.</li>



<li><strong>Interactive Learning</strong>: Similar to the broader Finxter platform, the academy emphasizes interactive and practical learning, often involving coding exercises, projects, and puzzles.</li>
</ol>



<p>Finxter Academy aims to provide a thorough educational experience that helps learners stay relevant in the fast-changing tech industry by mastering new technologies and gaining practical skills. This structured learning environment is designed to facilitate both the acquisition of in-depth technical skills and the practical application of these skills in real-world scenarios.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>You can join the Finxter email list for free <a href="https://blog.finxter.com/subscribe/" data-type="page" data-id="1414">here</a>. Also, check out the Finxter premium courses:</p>



<p><a href="https://blog.finxter.com/finxter-premium-membership/" data-type="page" data-id="1964"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Join Finxter Academy (Premium) <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></a></p>
<p>The post <a href="https://blog.finxter.com/what-is-finxter-is-it-trustworthy-chatgpt-answers/">What Is Finxter? Is It Trustworthy? An Unbiased Review by ChatGPT</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>7 Ways to Make Money as a Broke Millennial with a Computer Science Degree (Post GPT-4)</title>
		<link>https://blog.finxter.com/7-ways-to-make-money-as-a-broke-millennial-with-a-computer-science-degree-post-gpt-4/</link>
		
		<dc:creator><![CDATA[Emily Rosemary Collins]]></dc:creator>
		<pubDate>Sun, 24 Mar 2024 18:16:57 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Finance]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1669861</guid>

					<description><![CDATA[<p>💰 In a post-GPT-4 world, where automation and artificial intelligence have advanced significantly, there are still numerous ways for a broke Millennial with a computer science degree to leverage their skills and make money. Here are seven creative and practical ways to do so: Way 1 &#8211; Freelance Programming and Consulting Use your expertise in ... <a title="7 Ways to Make Money as a Broke Millennial with a Computer Science Degree (Post GPT-4)" class="read-more" href="https://blog.finxter.com/7-ways-to-make-money-as-a-broke-millennial-with-a-computer-science-degree-post-gpt-4/" aria-label="Read more about 7 Ways to Make Money as a Broke Millennial with a Computer Science Degree (Post GPT-4)">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/7-ways-to-make-money-as-a-broke-millennial-with-a-computer-science-degree-post-gpt-4/">7 Ways to Make Money as a Broke Millennial with a Computer Science Degree (Post GPT-4)</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-global-color-8-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4b0.png" alt="💰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In a post-<a href="https://blog.finxter.com/gpt-4-turbo/" data-type="post" data-id="1652747">GPT-4</a> world, where automation and artificial intelligence have advanced significantly, there are still numerous ways for a broke Millennial with a <a href="https://blog.finxter.com/computer-science-research-scientist/" data-type="post" data-id="346253">computer science</a> degree to leverage their skills and <a href="https://blog.finxter.com/20-ways-to-make-money-with-gpt-4/" data-type="post" data-id="1651749">make money</a>. </p>



<p>Here are seven creative and practical ways to do so:</p>



<h2 class="wp-block-heading">Way 1 &#8211; Freelance Programming and Consulting</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/d1a7d6e9-1596-43b8-84b8-ee208c1e4137.webp" alt="" class="wp-image-1669863" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/d1a7d6e9-1596-43b8-84b8-ee208c1e4137.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/d1a7d6e9-1596-43b8-84b8-ee208c1e4137-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/d1a7d6e9-1596-43b8-84b8-ee208c1e4137-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/d1a7d6e9-1596-43b8-84b8-ee208c1e4137-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Use your expertise in software development to take on freelance projects. <a href="https://blog.finxter.com/best-python-freelancer-platforms/" data-type="post" data-id="3382">Platforms like Upwork, Freelancer, and Toptal</a> are great places to start. You can also offer consulting services to small businesses or startups that need technical advice.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;You can leverage Upwork to find freelance programming and consulting gigs, offering your expertise in software development, web design, or IT consulting to clients worldwide.&#8221;</em></p>



<h2 class="wp-block-heading">Way 2 &#8211; Develop and Sell Software or Apps</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/fa717b06-78ca-48f2-9c20-8e004e949f3a.webp" alt="" class="wp-image-1669864" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/fa717b06-78ca-48f2-9c20-8e004e949f3a.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/fa717b06-78ca-48f2-9c20-8e004e949f3a-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/fa717b06-78ca-48f2-9c20-8e004e949f3a-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/fa717b06-78ca-48f2-9c20-8e004e949f3a-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>With your background, you can create your own software, apps, or tools that address specific problems or needs. This could range from productivity tools, educational apps, to niche social networks. Once developed, you can sell them directly to consumers or through app stores.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;Consider using the Google Play Store and Apple App Store to distribute and sell your custom <a href="https://blog.finxter.com/mobile-app-development-with-python-and-kivy-your-guide-to-building-apps-easily/" data-type="post" data-id="1653742">mobile apps</a>, or Steam for desktop software and games, reaching millions of potential customers.&#8221;</em></p>



<h2 class="wp-block-heading">Way 3 &#8211; AI Model Training and Fine-Tuning Services</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/dce515c3-eec2-462a-89d0-b40415a1f15b.webp" alt="" class="wp-image-1669865" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/dce515c3-eec2-462a-89d0-b40415a1f15b.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/dce515c3-eec2-462a-89d0-b40415a1f15b-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/dce515c3-eec2-462a-89d0-b40415a1f15b-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/dce515c3-eec2-462a-89d0-b40415a1f15b-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>As AI models like GPT-4 become more prevalent, there&#8217;s a growing need for professionals who can <a href="https://blog.finxter.com/fine-tuning-gpt-3-5-turbo-how-to-craft-your-own-proprietary-llm/" data-type="post" data-id="1650906">train, fine-tune, and customize these models for specific applications</a>. Offer your services to businesses looking to implement AI solutions but lacking the in-house expertise.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;Offer your AI model training and fine-tuning services on platforms like Toptal, where you can connect with companies looking to leverage AI technologies but lacking the in-house expertise.&#8221;</em></p>



<h2 class="wp-block-heading">Way 4 &#8211; Tech Content Creation</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/6cf97e4d-72ef-4e6f-8029-2171044522aa.webp" alt="" class="wp-image-1669866" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/6cf97e4d-72ef-4e6f-8029-2171044522aa.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/6cf97e4d-72ef-4e6f-8029-2171044522aa-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/6cf97e4d-72ef-4e6f-8029-2171044522aa-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/6cf97e4d-72ef-4e6f-8029-2171044522aa-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p><a href="https://blog.finxter.com/free-calculator-blog-income-valuation/" data-type="post" data-id="1669849">Start a blog</a>, YouTube channel, or podcast where you discuss the latest trends in technology, provide tutorials on programming languages, or explain complex AI concepts in layman&#8217;s terms. Monetize your content through ads, sponsorships, or memberships.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;Use YouTube to create and monetize tech-related content, from tutorials and software reviews to technology news, building an audience and generating revenue through ads and sponsorships.&#8221;</em></p>



<h2 class="wp-block-heading">Way 5 &#8211; Online Tutoring and Courses</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/9702f973-efcc-47f4-9ce5-1ff401980007.webp" alt="" class="wp-image-1669867" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/9702f973-efcc-47f4-9ce5-1ff401980007.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/9702f973-efcc-47f4-9ce5-1ff401980007-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/9702f973-efcc-47f4-9ce5-1ff401980007-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/9702f973-efcc-47f4-9ce5-1ff401980007-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Utilize your knowledge by teaching others. You can offer online <a href="https://blog.finxter.com/get-rich-with-openai-using-ai-as-a-wealth-generation-machine-is-the-name-of-the-game/" data-type="post" data-id="1652457">tutoring services</a> for students or professionals looking to learn programming languages, software development, AI, or data science. Additionally, creating and selling courses on platforms like Udemy or Coursera can be a lucrative avenue.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;Create and sell your own courses on Udemy or Coursera, focusing on computer science topics, programming languages, or emerging technologies like blockchain and AI.&#8221;</em></p>



<h2 class="wp-block-heading">Way 6 &#8211; Participate in Coding Competitions and Hackathons</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/ebf0c248-2643-4726-9654-29470d08f23c.webp" alt="" class="wp-image-1669868" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/ebf0c248-2643-4726-9654-29470d08f23c.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/ebf0c248-2643-4726-9654-29470d08f23c-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/ebf0c248-2643-4726-9654-29470d08f23c-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/ebf0c248-2643-4726-9654-29470d08f23c-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Not only are these great for sharpening your skills and networking, but many also offer cash prizes. Winning or even just participating can also make your resume stand out to potential employers.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;Sign up for HackerRank or participate in Hackathons organized by Major League Hacking (MLH) to compete in coding challenges, win prizes, and get noticed by tech companies.&#8221;</em></p>



<h2 class="wp-block-heading">Way 7 &#8211; Remote Tech Support Services</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.finxter.com/wp-content/uploads/2024/03/ea138b70-f420-41f5-b92e-f2740628276f.webp" alt="" class="wp-image-1669869" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/ea138b70-f420-41f5-b92e-f2740628276f.webp 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/ea138b70-f420-41f5-b92e-f2740628276f-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/03/ea138b70-f420-41f5-b92e-f2740628276f-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/03/ea138b70-f420-41f5-b92e-f2740628276f-768x768.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Offer your technical expertise as remote support for businesses or individuals. This could range from troubleshooting software issues, setting up networks, to providing security solutions. As businesses continue to operate remotely, the demand for remote tech support has grown.</p>



<p class="has-base-2-background-color has-background"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Action Step:</strong> <em>&#8220;Use platforms like Support.com or FlexJobs to find remote tech support jobs, providing technical assistance and troubleshooting services to businesses or individuals from anywhere in the world.&#8221;</em></p>



<p>Also make sure to check out our full guide:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://blog.finxter.com/making-money-with-python/"><img loading="lazy" decoding="async" width="1024" height="572" src="https://blog.finxter.com/wp-content/uploads/2024/03/image-129-1024x572.png" alt="" class="wp-image-1669870" srcset="https://blog.finxter.com/wp-content/uploads/2024/03/image-129-1024x572.png 1024w, https://blog.finxter.com/wp-content/uploads/2024/03/image-129-300x168.png 300w, https://blog.finxter.com/wp-content/uploads/2024/03/image-129-768x429.png 768w, https://blog.finxter.com/wp-content/uploads/2024/03/image-129.png 1381w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4b0.png" alt="💰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://blog.finxter.com/making-money-with-python/">55 Best Ideas to Make Money with Python</a></p>
<p>The post <a href="https://blog.finxter.com/7-ways-to-make-money-as-a-broke-millennial-with-a-computer-science-degree-post-gpt-4/">7 Ways to Make Money as a Broke Millennial with a Computer Science Degree (Post GPT-4)</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Python One Line For Loop [A Simple Tutorial]</title>
		<link>https://blog.finxter.com/python-one-line-for-loop-a-simple-tutorial/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Sat, 09 Mar 2024 17:47:43 +0000</pubDate>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python List]]></category>
		<category><![CDATA[Python One-Liners]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=5394</guid>

					<description><![CDATA[<p>Python is powerful &#8212; you can condense many algorithms into a single line of Python code. So the natural question arises: can you write a for loop in a single line of code? This tutorial explores this mission-critical question in all detail. How to Write a For Loop in a Single Line of Python Code? ... <a title="Python One Line For Loop [A Simple Tutorial]" class="read-more" href="https://blog.finxter.com/python-one-line-for-loop-a-simple-tutorial/" aria-label="Read more about Python One Line For Loop [A Simple Tutorial]">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/python-one-line-for-loop-a-simple-tutorial/">Python One Line For Loop [A Simple Tutorial]</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Python is powerful &#8212; you can condense many algorithms into a <a href="https://pythononeliners.com/" data-type="URL" data-id="https://pythononeliners.com/" target="_blank" rel="noreferrer noopener">single line</a> of Python code. </p>



<p>So the natural question arises: <strong>can you write a for loop in a single line of code? </strong></p>



<p>This tutorial explores this mission-critical question in all detail.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Python One Line For Loop [A Simple Tutorial]" width="937" height="527" src="https://www.youtube.com/embed/M6XNZ40lRFQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">How to Write a For Loop in a Single Line of Python Code?</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-225-1024x682.png" alt="" class="wp-image-1071437" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-225-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2023/01/image-225-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/01/image-225-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2023/01/image-225.png 1055w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>There are two ways of writing a one-liner for loop:</p>



<ul class="wp-block-list">
<li><strong>Method 1</strong>: If the loop body consists of one statement, simply write this statement into the same line: <code>for i in range(10): print(i)</code>. This <a href="https://blog.finxter.com/python-print/" data-type="post" data-id="20731" target="_blank" rel="noreferrer noopener">prints</a> the first 10 numbers to the shell (from 0 to 9). </li>



<li><strong>Method 2: </strong>If the purpose of the loop is to <a href="https://blog.finxter.com/how-to-create-a-python-list/" data-type="post" data-id="10436" target="_blank" rel="noreferrer noopener">create a list</a>, use <a href="https://blog.finxter.com/list-comprehension/" data-type="post" data-id="1171" target="_blank" rel="noreferrer noopener">list comprehension</a> instead: <code>squares = [i**2 for i in range(10)]</code>. The code squares the first ten numbers and stores them in the <a href="https://blog.finxter.com/python-lists/" data-type="post" data-id="7332" target="_blank" rel="noreferrer noopener">list</a> <code>squares</code>. </li>
</ul>



<p>Let&#8217;s have a look at both variants in more detail.</p>



<p><strong>Check out my new Python book <a title="https://amzn.to/2WAYeJE" href="https://amzn.to/2WAYeJE" target="_blank" rel="noreferrer noopener">Python One-Liners</a></strong> (Amazon Link).</p>



<p>If you like one-liners, you&#8217;ll LOVE the book. It&#8217;ll teach you everything there is to know about a <strong>single line of Python code.</strong> But it&#8217;s also an <strong>introduction to computer science</strong>, data science, machine learning, and algorithms. <strong><em>The universe in a single line of Python!</em></strong></p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://amzn.to/2WAYeJE" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="215" height="283" src="https://blog.finxter.com/wp-content/uploads/2020/02/image-1.png" alt="" class="wp-image-5969"/></a></figure>
</div>


<p>The book was released in 2020 with the world-class programming book publisher NoStarch Press (San Francisco). </p>



<p><strong>Publisher Link</strong>: <a href="https://nostarch.com/pythononeliners" target="_blank" rel="noreferrer noopener">https://nostarch.com/pythononeliners</a></p>



<p>Enough promo, let&#8217;s dive into the first method&#8212;the profane&#8230;</p>



<h2 class="wp-block-heading">Method 1: Single-Line For Loop</h2>



<p class="has-global-color-8-background-color has-background">Just writing the <a rel="noreferrer noopener" href="https://blog.finxter.com/python-loops/" data-type="post" data-id="4596" target="_blank">for loop</a> in a single line is the most direct way of accomplishing the task. After all, Python doesn&#8217;t need the indentation levels to resolve ambiguities when the loop body consists of only one line.</p>



<p>Say, we want to write the following for loop in a single line of code:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> for i in range(10):
	print(i)

	
0
1
2
3
4
5
6
7
8
9</pre>



<p>We can easily get this done by writing the command into a single line of code:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> for i in range(10): print(i)

0
1
2
3
4
5
6
7
8
9</pre>



<p>While this answer seems straightforward, the interesting question is: <strong><em>can we write a more complex for loop that has a longer loop body in a single line?</em></strong></p>



<p>This is much more difficult. While it&#8217;s possible to condense complicated algorithms in a single line of code, there&#8217;s no general formula. </p>



<p>If you&#8217;re interested in compressing whole algorithms into a single line of code, check out <a href="https://blog.finxter.com/10-python-one-liners/">this art</a><a href="https://blog.finxter.com/10-python-one-liners/" target="_blank" rel="noreferrer noopener">i</a><a href="https://blog.finxter.com/10-python-one-liners/">cle with 10 Python one-liners</a> that fit into a single tweet. </p>



<p>Suppose, you have the following more complex loop:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for i in range(10):
    if i&lt;5:
        j = i**2
    else:
        j = 0    
    print(j)</pre>



<p>This generates the output:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">0
1
4
9
16
0
0
0
0
0</pre>



<p>Can we compress it into a single line? </p>



<p>The answer is <strong>yes</strong>! Check out the following code snippet:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for i in range(10): print(i**2 if i&lt;5 else 0)</pre>



<p>This generates the same output as our multi-line <code>for</code> loop. </p>



<p>As it turns out, we can use the ternary operator in Python that allows us to compress an <code>if</code> statement into a single line. </p>



<p><a href="https://blog.finxter.com/if-then-else-in-one-line-python/">Check out this tutorial on our blog if you want to learn more about the exciting ternary operator in Python</a>. </p>



<p>The <strong>ternary operator</strong> is very intuitive: just read it from left to right to understand its meaning. </p>



<p>In the loop body <code>print(i**2 if i&lt;5 else 0)</code> we <a href="https://blog.finxter.com/python-print/" data-type="post" data-id="20731" target="_blank" rel="noreferrer noopener">print</a> the square number <code>i**2</code> if i is smaller than 5, otherwise, we print 0. </p>



<p>Let&#8217;s explore an alternative <a href="https://blog.finxter.com/the-top-18-best-python-tricks/" data-type="post" data-id="4358" target="_blank" rel="noreferrer noopener">Python trick</a> that&#8217;s very popular among Python masters:</p>



<h2 class="wp-block-heading">Method 2: List Comprehension</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.finxter.com/wp-content/uploads/2020/05/listcomp-1024x576.jpg" alt="List Comprehension" class="wp-image-8559" srcset="https://blog.finxter.com/wp-content/uploads/2020/05/listcomp-scaled.jpg 1024w, https://blog.finxter.com/wp-content/uploads/2020/05/listcomp-300x169.jpg 300w, https://blog.finxter.com/wp-content/uploads/2020/05/listcomp-768x432.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Being hated by newbies, experienced Python coders can’t live without this awesome Python feature called <em><a href="https://blog.finxter.com/list-comprehension/" data-type="post" data-id="1171" target="_blank" rel="noreferrer noopener">list comprehension</a></em>.</p>



<p>Say, we want to create a list of squared numbers. The traditional way would be to write something along these lines:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">squares = []

for i in range(10):
    squares.append(i**2)
    
print(squares)
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]</pre>



<p>We create an <a href="https://blog.finxter.com/how-to-check-if-a-python-list-is-empty/" data-type="post" data-id="9090" target="_blank" rel="noreferrer noopener">empty list</a> <code>squares</code> and successively add another square number starting from 0**2 and ending in 9**2. </p>



<p>Thus, the result is the list <code>[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]</code>. </p>



<p>List comprehension condenses this into a single line of code&#8211;that is also readable, more efficient, and concise.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print([i**2 for i in range(10)])</pre>



<p>This line accomplishes the same output with much fewer bits.</p>



<p>A thorough <a href="https://blog.finxter.com/list-comprehension/" target="_blank" rel="noreferrer noopener">tutorial of list comprehension can be found at this illustrated blog resource</a>.</p>



<p>Also, feel free to watch the video in my list comprehension tutorial:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="A Simple Introduction to List Comprehension in Python" width="937" height="527" src="https://www.youtube.com/embed/9qsq2Vf48W8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>List comprehension is a compact way of creating lists. The simple formula is <code>[ expression + context ]</code>.</strong></p>



<ul class="wp-block-list">
<li><strong>Expression: </strong>What to do with each list element?</li>



<li><strong>Context: </strong>What list elements to select? It consists of an arbitrary number of for and if statements.</li>
</ul>



<p><strong>The first part is the expression.</strong> In the example above, it was the expression <code>i**2</code>. Use any variable in your expression that you have defined in the context within a loop statement.</p>



<p><strong>The second part is the context</strong>. In the example above, it was the expression <code>for i in range(10)</code>. The context consists of an arbitrary number of <code>for</code> and <code>if</code> clauses. The single goal of the context is to define (or restrict) the sequence of elements on which we want to apply the expression. </p>



<h2 class="wp-block-heading">Method 3: Python One Line For Loop With If</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="684" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-227-1024x684.png" alt="" class="wp-image-1071454" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-227-1024x684.png 1024w, https://blog.finxter.com/wp-content/uploads/2023/01/image-227-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/01/image-227-768x513.png 768w, https://blog.finxter.com/wp-content/uploads/2023/01/image-227.png 1053w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>You can also modify the list comprehension statement by restricting the context with another <code>if</code> statement:</p>



<p><strong>Problem</strong>: Say, we want to create a list of squared numbers&#8212;but you only consider even and ignore odd numbers. </p>



<p><strong>Example</strong>: The multi-liner way would be the following.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">squares = []

for i in range(10):
    if i%2==0:
        squares.append(i**2)
    
print(squares)
# [0, 4, 16, 36, 64]
</pre>



<p>You create an empty list <code>squares</code> and successively add another square number starting from 0**2 and ending in 8**2&#8212;but only considering the even numbers 0, 2, 4, 6, 8. </p>



<p>Thus, the result is the list <code>[0, 4, 16, 36, 64]</code>. </p>



<p>Again, you can use list comprehension <code>[i**2 for i in range(10) <strong>if i%2==0</strong>]</code> with a restrictive <code>if</code> clause (in bold) in the context part to compress this in a single line of Python code.</p>



<p>See here:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print([i**2 for i in range(10) if i%2==0])
# [0, 4, 16, 36, 64]</pre>



<p>This line accomplishes the same output with much fewer bits.</p>



<p><strong>Related Article</strong>: <a href="https://blog.finxter.com/python-one-line-for-loop-with-if/" target="_blank" rel="noreferrer noopener" title="https://blog.finxter.com/python-one-line-for-loop-with-if/">Python One-Line For Loop With If</a></p>



<h2 class="wp-block-heading">Related Questions</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="866" height="577" src="https://blog.finxter.com/wp-content/uploads/2023/01/image-228.png" alt="" class="wp-image-1071457" srcset="https://blog.finxter.com/wp-content/uploads/2023/01/image-228.png 866w, https://blog.finxter.com/wp-content/uploads/2023/01/image-228-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/01/image-228-768x512.png 768w" sizes="auto, (max-width: 866px) 100vw, 866px" /></figure>
</div>


<p>Let&#8217;s dive into some related questions that might come to your mind. </p>



<h3 class="wp-block-heading">What&#8217;s a Generator Expression? </h3>



<p>A <a href="http://wiki.python.org/moin/Generators" target="_blank" rel="noreferrer noopener">generator expression</a> is a simple tool to generate iterators. </p>



<p>If you use a <code>for</code> loop, you often iterate over an <a href="https://blog.finxter.com/iterators-iterables-and-itertools/" data-type="post" data-id="29507" target="_blank" rel="noreferrer noopener">iterator</a>. For instance, a generator expression does not explicitly create a list in memory. </p>



<p>Instead, it dynamically generates the next item in the iterable as it goes over the iterable. </p>



<p>We used a <a href="https://blog.finxter.com/how-to-use-generator-expressions-in-python-dictionaries/" data-type="post" data-id="7502" target="_blank" rel="noreferrer noopener">generator expression</a> in the <code><a href="https://blog.finxter.com/python-print/" data-type="post" data-id="20731" target="_blank" rel="noreferrer noopener">print()</a></code> statement above:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print(i**2 if i&lt;5 else 0)</pre>



<p>There are no squared brackets around the generator expression as it&#8217;s the case for list comprehensions.</p>



<h3 class="wp-block-heading">How to Create a Nested For Loop in One Line?</h3>



<p>We cannot write a simple nested for loop in one line of Python.</p>



<p>Say, you want to write a <a href="https://blog.finxter.com/how-to-write-a-nested-for-loop-in-one-line-python/" data-type="post" data-id="11859" target="_blank" rel="noreferrer noopener">nested <code>for</code> loop</a> like the following in one line of Python code:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for i in range(3):
    for j in range(3):
        print((i,j))

'''
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
'''</pre>



<p>When trying to write this into a single line of code, we get a syntax error:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for i in range(3): for j in range(3): print((i,j))
# Syntax Error</pre>



<p>You can see the error message in the following screenshot:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="764" height="290" src="https://blog.finxter.com/wp-content/uploads/2019/12/grafik.png" alt="" class="wp-image-5398" srcset="https://blog.finxter.com/wp-content/uploads/2019/12/grafik.png 764w, https://blog.finxter.com/wp-content/uploads/2019/12/grafik-300x114.png 300w" sizes="auto, (max-width: 764px) 100vw, 764px" /></figure>
</div>


<p>However, we can create a nested list comprehension statement.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print([(i,j) for i in range(3) for j in range(3)])
# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1),
# (1, 2), (2, 0), (2, 1), (2, 2)]</pre>



<p>This only leads to a slightly more complex context part <code>for i in range(3) for j in range(3)</code>. But it&#8217;s manageable.</p>



<h2 class="wp-block-heading">Where to Go From Here</h2>



<p>Knowing small <a rel="noreferrer noopener" href="https://blog.finxter.com/10-python-one-liners/" target="_blank">Python one-liner tricks</a> such as list comprehension and single-line <code>for</code> loops is vital for your success in the Python language. Every expert coder knows them by heart—after all, this is what makes them very productive.</p>



<p>If you want to learn the language Python by heart, join my <a href="https://blog.finxter.com/subscribe/">free Python email course</a>. </p>






<p>It’s 100% based on free Python cheat sheets and Python lessons. It’s fun, easy, and you can leave anytime.</p>



<h2 class="wp-block-heading">Python One-Liners Book: Master the Single Line First!</h2>



<p><strong>Python programmers will improve their computer science skills with these useful one-liners.</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-medium is-resized"><a href="https://www.amazon.com/gp/product/B07ZY7XMX8" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-1024x944.jpg" alt="Python One-Liners" class="wp-image-10007" width="512" height="472" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-scaled.jpg 1024w, https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-300x277.jpg 300w, https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-768x708.jpg 768w" sizes="auto, (max-width: 512px) 100vw, 512px" /></a></figure></div>



<p><a href="https://amzn.to/2WAYeJE" target="_blank" rel="noreferrer noopener" title="https://amzn.to/2WAYeJE"><em>Python One-Liners</em> </a>will teach you how to read and write &#8220;one-liners&#8221;: <strong><em>concise statements of useful functionality packed into a single line of code. </em></strong>You&#8217;ll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert.</p>



<p>The book&#8217;s five chapters cover (1) tips and tricks, (2) regular expressions, (3) machine learning, (4) core data science topics, and (5) useful algorithms. </p>



<p>Detailed explanations of one-liners introduce <strong><em>key computer science concepts </em></strong>and<strong><em> boost your coding and analytical skills</em></strong>. You&#8217;ll learn about advanced Python features such as <em><strong>list comprehension</strong></em>, <strong><em>slicing</em></strong>, <strong><em>lambda functions</em></strong>, <strong><em>regular expressions</em></strong>, <strong><em>map </em></strong>and <strong><em>reduce </em></strong>functions, and <strong><em>slice assignments</em></strong>. </p>



<p>You&#8217;ll also learn how to:</p>



<ul class="wp-block-list"><li>Leverage data structures to <strong>solve real-world problems</strong>, like using Boolean indexing to find cities with above-average pollution</li><li>Use <strong>NumPy basics</strong> such as <em>array</em>, <em>shape</em>, <em>axis</em>, <em>type</em>, <em>broadcasting</em>, <em>advanced indexing</em>, <em>slicing</em>, <em>sorting</em>, <em>searching</em>, <em>aggregating</em>, and <em>statistics</em></li><li>Calculate basic <strong>statistics </strong>of multidimensional data arrays and the K-Means algorithms for unsupervised learning</li><li>Create more <strong>advanced regular expressions</strong> using <em>grouping </em>and <em>named groups</em>, <em>negative lookaheads</em>, <em>escaped characters</em>, <em>whitespaces, character sets</em> (and <em>negative characters sets</em>), and <em>greedy/nongreedy operators</em></li><li>Understand a wide range of <strong>computer science topics</strong>, including <em>anagrams</em>, <em>palindromes</em>, <em>supersets</em>, <em>permutations</em>, <em>factorials</em>, <em>prime numbers</em>, <em>Fibonacci </em>numbers, <em>obfuscation</em>, <em>searching</em>, and <em>algorithmic sorting</em></li></ul>



<p>By the end of the book, you&#8217;ll know how to <strong><em>write Python at its most refined</em></strong>, and create concise, beautiful pieces of &#8220;Python art&#8221; in merely a single line.</p>



<p><strong><a href="https://amzn.to/2WAYeJE" target="_blank" rel="noreferrer noopener" title="https://amzn.to/2WAYeJE"><em>Get your Python One-Liners on Amazon!!</em></a></strong></p>



<h2 class="wp-block-heading">Programmer Humor &#8211; Blockchain</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="280" height="394" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-31.png" alt="" class="wp-image-457795" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-31.png 280w, https://blog.finxter.com/wp-content/uploads/2022/07/image-31-213x300.png 213w" sizes="auto, (max-width: 280px) 100vw, 280px" /><figcaption><em>&#8220;Blockchains are like grappling hooks, in that it&#8217;s extremely cool when you encounter a problem for which they&#8217;re the right solution, but it happens way too rarely in real life.&#8221;</em> <strong>source </strong>&#8211; <a href="https://imgs.xkcd.com/comics/blockchain.png" data-type="URL" data-id="https://imgs.xkcd.com/comics/blockchain.png" target="_blank" rel="noreferrer noopener">xkcd</a></figcaption></figure>
</div><p>The post <a href="https://blog.finxter.com/python-one-line-for-loop-a-simple-tutorial/">Python One Line For Loop [A Simple Tutorial]</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Create a Python List?</title>
		<link>https://blog.finxter.com/how-to-create-a-python-list/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Sat, 09 Mar 2024 17:45:31 +0000</pubDate>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python List]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=10436</guid>

					<description><![CDATA[<p>Definition Lists: A Python list is an ordered sequence of arbitrary Python objects. It is a mutable object by itself so, unlike Python sets, you can modify a Python list. In this article, you&#8217;ll learn everything you need to know on how to create Python lists. Overview &#8212; Creating a List in Python There are ... <a title="How to Create a Python List?" class="read-more" href="https://blog.finxter.com/how-to-create-a-python-list/" aria-label="Read more about How to Create a Python List?">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/how-to-create-a-python-list/">How to Create a Python List?</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How to Create a Python List?" width="937" height="527" src="https://www.youtube.com/embed/qXOFngx0bQU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>Definition Lists</strong>: A <a href="https://blog.finxter.com/python-lists/" target="_blank" rel="noreferrer noopener" title="The Ultimate Guide to Python Lists">Python list</a> is an ordered sequence of arbitrary Python objects. It is a mutable object by itself so, unlike<a href="https://blog.finxter.com/sets-in-python/" target="_blank" rel="noreferrer noopener" title="The Ultimate Guide to Python Sets – with Harry Potter Examples"> Python sets</a>, you can modify a Python list.</p>



<p><em>In this article, you&#8217;ll learn everything you need to know on <strong>how to create Python lists</strong>.</em></p>



<h2 class="wp-block-heading">Overview &#8212; Creating a List in Python</h2>



<p>There are many ways of creating a list in Python. Let&#8217;s get a quick overview in the following table:</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>Code</th><th>Description</th></tr></thead><tbody><tr><td><code>[]</code></td><td><strong>Square bracket</strong>: Initializes an empty list with zero elements. You can add elements later.</td></tr><tr><td><code>[x1, x2, x3, … ]</code></td><td><strong>List display:</strong> Initializes an empty list with elements <code>x1</code>, <code>x2</code>, <code>x3</code>, &#8230; For example, <code>[1, 2, 3]</code> creates a list with three integers 1, 2, and 3.</td></tr><tr><td><code>[expr1, expr2, ... ]</code></td><td><strong>List display with expressions</strong>: Initializes a list with the result of the expressions <code>expr1</code>, <code>expr2</code>, &#8230; For example, <code>[1+1, 2-1]</code> creates the list <code>[2, 1]</code>. </td></tr><tr><td><code>[expr for var in iter]</code></td><td><strong>List comprehension</strong>: applies the expression <code>expr</code> to each element in an iterable.</td></tr><tr><td><code>list(iterable)</code></td><td><strong>List constructor</strong> that takes an iterable as input and returns a new list.</td></tr><tr><td><code>[x1, x2, ...] * n</code></td><td><strong>List multiplication</strong> creates a list of n concatenations of the list object. For example <code>[1, 2] * 2 == [1, 2, 1, 2]</code>.</td></tr></tbody></table></figure>



<p></p>



<p>Let&#8217;s dive into some more specific ways to create various forms of lists in <a href="https://blog.finxter.com/python-crash-course/" title="Python Programming Tutorial [+Cheat Sheets]" target="_blank" rel="noreferrer noopener">Python</a>. </p>



<p><strong><em>BELOW I&#8217;LL GIVE YOU A PDF CHEAT SHEET OF THE MOST IMPORTANT PYTHON LIST METHODS.</em></strong> So keep reading!</p>



<h2 class="wp-block-heading">Python Create List of Size</h2>



<p><strong>Problem</strong>: Given an integer <code>n</code>. How to initialize a list with <code>n</code> placeholder elements?</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># n=0 --> []
# n=1 --> [None]
# n=5 --> [None, None, None, None, None]</pre>



<p><strong>Solution</strong>: Use the <a href="https://blog.finxter.com/concatenate-lists-in-python/" target="_blank" rel="noreferrer noopener" title="How to Concatenate Lists in Python? [Interactive Guide]">list concatenation</a> operation <code>*</code>. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">n = 5
lst = [None] * n
print(lst)
# [None, None, None, None, None]</pre>



<p>You can modify the element <code>n</code> as you like. For a detailed discussion on this topic, please visit my blog tutorial on <a href="https://blog.finxter.com/how-to-create-a-python-list-of-size-n/" title="How to Create a Python List of Size n?" target="_blank" rel="noreferrer noopener">How to Create a List with a Specific Size n?</a> The tutorial also contains many visualizations to teach you the ins and outs of this method (and gives you some powerful alternatives). </p>



<h2 class="wp-block-heading">Python Create List of Strings</h2>



<p>You can use the previous method to create a list of n <a href="https://blog.finxter.com/python-string-to-list-the-most-pythonic-way/" target="_blank" rel="noreferrer noopener" title="Python String to List | The Most Pythonic Way">strings</a>:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">n = 3
lst = ['xyz'] * n
print(lst)
# ['xyz', 'xyz', 'xyz']</pre>



<p>But do you want to create a list of numbers?</p>



<h2 class="wp-block-heading">Python Create List of Numbers</h2>



<p>Simply replace the default strings with the default numbers:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">n = 3
lst = [1] * n
print(lst)
# [1, 1, 1]</pre>



<p>A special case is the number:</p>



<h2 class="wp-block-heading">Python Create List of Zeros</h2>



<p>This creates a list of zeros:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">n = 3
lst = [0] * n
print(lst)
# [0, 0, 0]</pre>



<p>But what if you want to create a list of consecutive numbers 0, 1, 2, &#8230;?</p>



<h2 class="wp-block-heading">Python Create List from Range</h2>



<p>To create a list of consecutive numbers from <code>x</code> to <code>y</code>, use the <code><a href="https://blog.finxter.com/daily-python-puzzle-range-indexing/" title="The Range Function and Indexing in Python">range(x, y)</a></code> built-in Python function. This only returns a <code>range</code> object which is an iterable. But you can convert the iterable to a list using the <code>list(...)</code> constructor:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print(list(range(2, 4)))
# [2, 3]

print(list(range(2, 6)))
# [2, 3, 4, 5]

print(list(range(2, 10, 2)))
# [2, 4, 6, 8]</pre>



<p>You can see that the second argument (the <code>stop</code> index) is not included in the range sequence. The third argument of the <code>range(start, stop, step)</code> function is the optional step size that allows you to skip <code>step</code> numbers of the series of continuous numbers.</p>



<h2 class="wp-block-heading">Python Create List from 0 to 100</h2>



<p>A special situation arises if you want to create a list from 0 to 100 (included). In this case, you simply use the <code>list(range(0, 101))</code> function call. As <code>stop</code> argument, you use the number 101 because it&#8217;s excluded from the final series. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print(list(range(0, 101)))
# [0, 1, ..., 100]

print(list(range(101)))
# [0, 1, ..., 100]</pre>



<p>It&#8217;s actually not necessary to give the default start index 0, so you can just skip it.</p>



<h2 class="wp-block-heading">Python Create List with For Loop</h2>



<p>To create a list with a <a href="https://blog.finxter.com/python-loops/" target="_blank" rel="noreferrer noopener" title="Python Loops">for loop</a>, you first initialize the empty list, and then subsequently append an element to the list:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">lst = []
for x in range(10):
    # Append any initial element here:
    lst.append(x)

print(lst)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</pre>



<p>You can learn more about the <a href="https://blog.finxter.com/python-one-line-for-loop-a-simple-tutorial/" target="_blank" rel="noreferrer noopener" title="Python One Line For Loop [A Simple Tutorial]">single-line for loop in this article</a>. </p>



<h2 class="wp-block-heading">Python Create List of Lists</h2>



<p>However, there&#8217;s a small problem if you want to create a list with mutable objects (such as a<a href="https://blog.finxter.com/python-list-of-lists/" title="Python List of Lists – A Helpful Illustrated Guide to Nested Lists in Python" target="_blank" rel="noreferrer noopener"> list of lists</a>):</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">lst = [[]] * n
print(lst)
# [[], [], [], [], []]

lst[2].append(42)

print(lst)
# [[42], [42], [42], [42], [42]]</pre>



<p>Changing one list element changes all list elements because all list elements refer to the same list object in memory:</p>



<iframe loading="lazy" src="https://pythontutor.com/iframe-embed.html#code=n%20%3D%205%0Alst%20%3D%20%5B%5B%5D%5D%20*%20n%0Aprint%28lst%29%0A%23%20%5B%5B%5D,%20%5B%5D,%20%5B%5D,%20%5B%5D,%20%5B%5D%5D%0A%0Alst%5B2%5D.append%2842%29%0A%0Aprint%28lst%29%0A%23%20%5B%5B42%5D,%20%5B42%5D,%20%5B42%5D,%20%5B42%5D,%20%5B42%5D%5D&amp;codeDivHeight=400&amp;codeDivWidth=350&amp;cumulative=false&amp;curInstr=1&amp;heapPrimitives=nevernest&amp;origin=opt-frontend.js&amp;py=3&amp;rawInputLstJSON=%5B%5D&amp;textReferences=false" width="800" height="500" frameborder="0"> </iframe>



<p>The solution is to use list comprehension (<a href="https://blog.finxter.com/list-comprehension/" target="_blank" rel="noreferrer noopener" title="List Comprehension in Python — A Helpful Illustrated Guide">see my detailed blog tutorial on list comprehension for a complete guide</a>):</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">lst = [[] for _ in range(n)]
print(lst)
# [[], [], [], [], []]

lst[2].append(42)
print(lst)
# [[], [], [42], [], []]</pre>



<p>In the following visualization, you can see how each element now refers to an independent list object in memory:</p>



<iframe loading="lazy" src="https://pythontutor.com/iframe-embed.html#code=n%20%3D%205%0Alst%20%3D%20%5B%5B%5D%20for%20_%20in%20range%28n%29%5D%0Aprint%28lst%29%0A%23%20%5B%5B%5D,%20%5B%5D,%20%5B%5D,%20%5B%5D,%20%5B%5D%5D%0A%0Alst%5B2%5D.append%2842%29%0Aprint%28lst%29%0A%23%20%5B%5B%5D,%20%5B%5D,%20%5B42%5D,%20%5B%5D,%20%5B%5D%5D&amp;codeDivHeight=400&amp;codeDivWidth=350&amp;cumulative=false&amp;curInstr=0&amp;heapPrimitives=nevernest&amp;origin=opt-frontend.js&amp;py=3&amp;rawInputLstJSON=%5B%5D&amp;textReferences=false" width="800" height="500" frameborder="0"> </iframe>



<p><em><strong>Exercise</strong>: Run the visualization and convince yourself that only one element is modified! Why is this the case?</em></p>



<h2 class="wp-block-heading">Python Create List of Tuples</h2>



<p>A similar approach can be used to create a list of tuples instead of a<a href="https://blog.finxter.com/python-list-of-lists/" target="_blank" rel="noreferrer noopener" title="Python List of Lists – A Helpful Illustrated Guide to Nested Lists in Python"> list of lists</a>. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">n = 5
lst = [() for _ in range(n)]
print(lst)

lst[2] = (1, 2, 3)
print(lst)

'''
[(), (), (), (), ()]
[(), (), (1, 2, 3), (), ()]
'''</pre>



<p>You first initialize the list with empty tuples. <a href="https://blog.finxter.com/python-tuple-to-integer/" target="_blank" rel="noreferrer noopener" title="Python Tuple to Integer">Tuples </a>are immutable so you cannot change them. But you can overwrite each list element with a new tuple like you did in the example with the third element and tuple <code>(1, 2, 3)</code>. </p>



<h2 class="wp-block-heading">Python Create Equally Spaced List</h2>



<p>To create an equally spaced list, use the <a href="https://blog.finxter.com/np-linspace/" title="How to Use np.linspace() in Python? A Helpful Illustrated Guide" target="_blank" rel="noreferrer noopener"><code>np.linspace()</code> function</a> of the NumPy library. Here&#8217;s a short tutorial on the matter:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How to Use np.linspace() in Python? A Helpful Illustrated Guide" width="937" height="527" src="https://www.youtube.com/embed/vPZwZfd-aNY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Let&#8217;s get a quick overview first.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.finxter.com/wp-content/uploads/2020/05/linspace-1024x576.jpg" alt="NumPy np.linspace()" class="wp-image-9500" style="width:768px;height:432px" srcset="https://blog.finxter.com/wp-content/uploads/2020/05/linspace-scaled.jpg 1024w, https://blog.finxter.com/wp-content/uploads/2020/05/linspace-300x169.jpg 300w, https://blog.finxter.com/wp-content/uploads/2020/05/linspace-768x432.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Let&#8217;s look at the three most common arguments in more detail first: <code>start</code>, <code>stop</code> and <code>num</code>. Here&#8217;s what the <a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html">official NumPy docs</a> has to say: </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">numpy.linspace(start, stop, num=50)</pre>



<p><em>Return evenly spaced numbers over a specified interval. Returns num&nbsp;evenly-spaced samples. The endpoint of the interval can optionally be excluded.</em></p>



<p><strong>Note</strong>: as the name suggests, <code>np.linspace</code> returns numbers that are <em>linearly-spaced</em> apart. Thus they are all the same distance apart from one another (think of points on a line). </p>



<p>From the definition, it follows that <code>np.linspace(-3, 3)</code> will give us 50 numbers evenly spaced apart in the interval <code>[-3, 3]</code>.&nbsp; <br>Let&#8217;s check this with some code.</p>



<p></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> A = np.linspace(-3, 3)

>>> type(A)
numpy.ndarray

# Number of elements in A
>>> len(A)
50

# First element of A
>>> A[0]
-3.0

# Last element of A
>>> A[-1]
3.0

# The difference between every value is the same: 0.12244898
>>> np.diff(A)
array([0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898,
       0.12244898, 0.12244898, 0.12244898, 0.12244898])</pre>



<p>If we want only 10 samples between -3 and 3, we set <code>num=10</code>.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> B = np.linspace(-3, 3, num=10)

# B only contains 10 elements now
>>> len(B)
10</pre>



<p>But what if you want to initialize your list with random elements?</p>



<h2 class="wp-block-heading">Python Create List of Random Elements</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Create a List of Random Numbers — The Most Pythonic Way" width="937" height="527" src="https://www.youtube.com/embed/b2v2E1bmE-U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Do you want to initialize a list with some random numbers? Next, I&#8217;ll show you four different way of accomplishing this&#8212;along with a short discussion about <em>&#8220;the most Pythonic way&#8221;</em>. </p>



<p><strong>Problem</strong>: Given an integer <code>n</code>. Create a list of <code>n</code> elements in a certain interval (example interval: <em>[0, 20]</em>). </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># n = 5 --> [2, 3, 1, 4, 3]
# n = 3 --> [10, 12, 1]
# n = 10 --> [8, 2, 18, 10, 4, 19, 5, 9, 8, 1]</pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.finxter.com/wp-content/uploads/2020/07/random-1024x576.jpg" alt="" class="wp-image-10536" srcset="https://blog.finxter.com/wp-content/uploads/2020/07/random-scaled.jpg 1024w, https://blog.finxter.com/wp-content/uploads/2020/07/random-300x169.jpg 300w, https://blog.finxter.com/wp-content/uploads/2020/07/random-768x432.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Solution</strong>: Here&#8217;s a quick overview on how you can create a list of random numbers:</p>



<ul class="wp-block-list">
<li><strong>Method 1</strong>: <code>[random.random() for _ in range(10)]</code> to create a list of random floats.</li>



<li><strong>Method 2</strong>: <code>[random.randint(0, 999) for _ in range(10)]</code> to create a list of random ints. </li>



<li><strong>Method 3</strong>: <code>randlist = []; for _ in range(10): randlist.append(random.randint(0, 99))</code> to create a list of random ints.</li>



<li><strong>Method 4</strong>: <code>randlist = random.sample(range(20), 10)</code> to create a list of random ints.</li>
</ul>



<p></p>



<h2 class="wp-block-heading">Python Create List of Lists from Zip</h2>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Short answer</strong>: Per default, the <code>zip()</code> function returns a zip object of tuples. To obtain a <em>list of lists</em> as an output, use the list comprehension statement <code>[list(x) for x in zip(l1, l2)]</code> that converts each tuple to a list and stores the converted lists in a new nested list object.</p>



<p><em>Intermediate Python coders know the <code>zip()</code> function. But if you&#8217;re like me, you&#8217;ve often cursed the output of the zip function: first of all, it&#8217;s a zip object (and not a list), and, second, the individual zipped elements are tuples. But what if you need a list of lists as output?</em></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="python zip list of lists instead list of tuples" width="937" height="527" src="https://www.youtube.com/embed/MM1PBzZjmh0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>Problem</strong>: Given a number of lists <code>l1, l2, ...</code>. How ot <a href="https://blog.finxter.com/python-ziiiiiiip-a-helpful-guide/" target="_blank" rel="noreferrer noopener" title="Python Ziiiiiiip! [A helpful guide]">zip </a>the i-th elements of those lists together and obtain a list<a href="https://blog.finxter.com/python-list-of-lists/" target="_blank" rel="noreferrer noopener" title="Python List of Lists – A Helpful Illustrated Guide to Nested Lists in Python"> of lists</a>?</p>



<p><strong>Example</strong>: Given two lists <code>[1, 2, 3, 4]</code> and <code>['Alice', 'Bob', 'Ann', 'Liz']</code> and you want the list of lists <code>[[1, 'Alice'], [2, 'Bob'], [3, 'Ann'], [4, 'Liz']]</code>. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">l1 = [1, 2, 3, 4]
l2 = ['Alice', 'Bob', 'Ann', 'Liz']
# ... calculate result ...
# Output: [[1, 'Alice'], [2, 'Bob'], [3, 'Ann'], [4, 'Liz']]</pre>



<p></p>



<h2 class="wp-block-heading">Python Create List a-z</h2>



<p>To create a list with all characters <code>'a'</code>, <code>'b'</code>, &#8230;, <code>'z'</code>, you can use the <code>list()</code> constructor on the <code>string.ascii_lowercase</code> variable:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> import string
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> list(string.ascii_lowercase)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']</pre>



<p>The <code>list()</code> constructor creates a new list and place all elements in the iterable into the new list. A string is an iterable with character elements. Thus, the result is a list of lowercase characters.</p>



<h2 class="wp-block-heading">Python Create List of Dictionaries</h2>



<p>Say, you have a <a href="https://blog.finxter.com/python-dictionary/" target="_blank" rel="noreferrer noopener" title="Python Dictionary – The Ultimate Guide">dictionary </a><code>{0: 'Alice', 1: 'Bob'}</code> and you want to create a <a href="https://blog.finxter.com/how-to-create-a-list-of-dictionaries-in-python/" target="_blank" rel="noreferrer noopener" title="How to Create a List of Dictionaries in Python?">list of dictionaries</a> with copies of the original dictionary: <code>[{0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]</code>. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">d = {0: 'Alice', 1: 'Bob'}

dicts = [{**d} for _ in range(3)]
print(dicts)
# [{0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]</pre>



<p>You use list comprehension with a &#8220;throw-away&#8221; loop variable underscore <code>_</code> to create a list of 3 elements. You can change the value 3 if you need more or fewer elements in your list. </p>



<p>The expression <code>{**d}</code> <a href="https://blog.finxter.com/what-is-asterisk-in-python/" target="_blank" rel="noreferrer noopener" title="What is the Asterisk / Star Operator (*) in Python?">unpacks </a>all (key, value) pairs from the original dictionary <code>d</code> into a new dictionary. </p>



<p>The resulting list contains copies of the original dictionary. If you change one, the others won&#8217;t see that change:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dicts[0][2] = 'Frank'
print(dicts)
# [{0: 'Alice', 1: 'Bob', 2: 'Frank'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]</pre>



<p>Only the first dictionary in the list contains the new key value pair <code>(2: 'Frank')</code> which proves that the dictionaries don&#8217;t point to the same object in memory. This would be the case if you&#8217;d use the following method of <a href="https://blog.finxter.com/python-list-copy/" target="_blank" rel="noreferrer noopener" title="Python List copy()">copying a list</a> with a single dictionary:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">d2 = {0: 'Alice', 1: 'Bob'}

dicts2 = [d2] * 3
print(dicts2)
# [{0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}, {0: 'Alice', 1: 'Bob'}]</pre>



<p>The method looks right but all three dictionaries are essentially the same:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dicts2[0][2] = 'Frank'
print(dicts2)
# [{0: 'Alice', 1: 'Bob', 2: 'Frank'}, {0: 'Alice', 1: 'Bob', 2: 'Frank'}, {0: 'Alice', 1: 'Bob', 2: 'Frank'}]
</pre>



<p>If you change one, you change all.</p>



<p>You can see this effect yourself in the following memory visualizer tool:</p>



<iframe loading="lazy" src="https://pythontutor.com/iframe-embed.html#code=d2%20%3D%20%7B0%3A%20'Alice',%201%3A%20'Bob'%7D%0A%0Adicts2%20%3D%20%5Bd2%5D%20*%203%0Aprint%28dicts2%29%0A%0Adicts2%5B0%5D%5B2%5D%20%3D%20'Frank'%0Aprint%28dicts2%29&amp;codeDivHeight=400&amp;codeDivWidth=350&amp;cumulative=false&amp;curInstr=1&amp;heapPrimitives=nevernest&amp;origin=opt-frontend.js&amp;py=3&amp;rawInputLstJSON=%5B%5D&amp;textReferences=false" width="800" height="500" frameborder="0"> </iframe>



<p><em><strong>Exercise</strong>: change the method to the correct one so that the change affects only the first dictionary!</em></p>



<h2 class="wp-block-heading">Python Create List from DataFrame</h2>



<p>To create a list from a <a href="https://blog.finxter.com/tilde-python-pandas-dataframe/" title="Tilde Python Pandas DataFrame" target="_blank" rel="noreferrer noopener">Pandas DataFrame</a>, use the method <code>df.values.tolist()</code> on your DataFrame object <code>df</code>: </p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pandas as pd

incomes = {'Name': ['Alice','Bob','Ann'],
           'Income': [2000, 3000, 9000]}

df = pd.DataFrame(incomes)

lst = df.values.tolist()
print(lst)
# [['Alice', 2000], ['Bob', 3000], ['Ann', 9000]]</pre>



<p>You can see that the output is a <a href="https://blog.finxter.com/python-list-of-lists/" target="_blank" rel="noreferrer noopener" title="Python List of Lists – A Helpful Illustrated Guide to Nested Lists in Python">list of lists</a> in this example. If you need to improve your Pandas skills, <a href="https://blog.finxter.com/pandas-cheat-sheets/" title="[PDF Collection] 7 Beautiful Pandas Cheat Sheets — Post Them to Your Wall" target="_blank" rel="noreferrer noopener">check out the most beautiful Python Pandas Cheat Sheets. </a></p>



<h2 class="wp-block-heading">Python Create List from NumPy Array</h2>



<p>To convert a <a href="https://blog.finxter.com/numpy-tutorial/" target="_blank" rel="noreferrer noopener" title="NumPy Tutorial – Everything You Need to Know to Get Started">NumPy </a>array <code>a</code> to a list, use the <code>a.tolist()</code> method on the array object. If the NumPy array is multi-dimensional, a <a href="https://blog.finxter.com/how-does-nested-list-comprehension-work-in-python/" target="_blank" rel="noreferrer noopener" title="How Does Nested List Comprehension Work in Python?">nested list</a> is created:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import numpy as np

a = np.array([[1, 2, 3],
              [4, 5, 6]])

l = a.tolist()
print(l)
# [[1, 2, 3], [4, 5, 6]]</pre>



<p>The resulting list is a nested list of lists.</p>



<h2 class="wp-block-heading">Python Create List Copy</h2>



<p>Surprisingly, even advanced Python coders don&#8217;t know the details of the <code>copy()</code> method of Python lists. Time to change that!</p>



<p><strong>Definition and Usage</strong>: The <code>list.copy()</code> method copies all <code>list</code> elements into a new list. The new list is the return value of the method. It&#8217;s a shallow copy&#8212;you copy only the object references to the list elements and not the objects themselves.</p>



<p>Here&#8217;s a short example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">>>> lst = [1, 2, 3]
>>> lst.copy()
[1, 2, 3]</pre>



<p>In the first line, you create the list <code>lst</code> consisting of three integers. You then create a new list by copying all elements.</p>



<p><strong>Syntax</strong>: You can call this method on each list object in Python. Here&#8217;s the syntax:</p>



<p><code>list.copy()</code></p>



<p><strong>Arguments:</strong> The method doesn&#8217;t take any argument.</p>



<p><strong>Return value:</strong> The method <code>list.clear()</code> returns a <code>list</code> object by copying references to all objects in the original list.</p>



<p><strong>Video:</strong></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Python List copy()" width="937" height="527" src="https://www.youtube.com/embed/VhLrz7ivZbc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>Related articles:</strong></p>



<ul class="wp-block-list">
<li><a rel="noreferrer noopener" href="https://blog.finxter.com/python-lists/" target="_blank">The Ultimate Guide to Python Lists</a></li>
</ul>



<p>Here&#8217;s your free PDF cheat sheet showing you all Python list methods on one simple page. Click the image to download the high-resolution PDF file, print it, and post it to your office wall:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://blog.finxter.com/wp-content/uploads/2020/04/Python-List-Methods-Cheat-Sheet.pdf" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="670" height="870" src="https://blog.finxter.com/wp-content/uploads/2020/04/Python-List-Methods-Cheat-Sheet.jpg" alt="" class="wp-image-7544" srcset="https://blog.finxter.com/wp-content/uploads/2020/04/Python-List-Methods-Cheat-Sheet.jpg 670w, https://blog.finxter.com/wp-content/uploads/2020/04/Python-List-Methods-Cheat-Sheet-231x300.jpg 231w" sizes="auto, (max-width: 670px) 100vw, 670px" /></a></figure>
</div>


<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-vivid-cyan-blue-background-color has-background wp-element-button" href="https://blog.finxter.com/wp-content/uploads/2020/04/Python-List-Methods-Cheat-Sheet.pdf" style="border-radius:9px" target="_blank" rel="noreferrer noopener">Instant PDF Download [100% FREE]</a></div>
</div>



<p><a href="https://blog.finxter.com/python-list-copy/" target="_blank" rel="noreferrer noopener" title="Python List copy()">You can read more about the <code>list.copy()</code> method in our comprehensive guide on this blog. </a></p>



<h2 class="wp-block-heading">Python Create List from Map</h2>



<p><strong>Problem</strong>: Given a <a href="https://blog.finxter.com/daily-python-puzzle-string-encrpytion-ord-function-map-function/" target="_blank" rel="noreferrer noopener" title="Mastering the Python Map Function [+Video]"><code>map</code> object</a>. How to create a list? </p>



<p>The answer is straight-forward&#8212;use the <code>list()</code> constructor! Here&#8217;s an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">lst = [1, 2, 3]

m = map(str, lst)
print(m)
# &lt;map object at 0x000001E71198B438>

l = list(m)
print(l)
# ['1', '2', '3']</pre>



<p>The resulting list is a list of strings and it contains all elements in the map iterable <code>m</code>. </p>



<p></p>



<p></p>



<p></p>



<p></p>
<p>The post <a href="https://blog.finxter.com/how-to-create-a-python-list/">How to Create a Python List?</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>4 Best Ways to Create a List of Permutations in Python</title>
		<link>https://blog.finxter.com/4-best-ways-to-create-a-list-of-permutations-in-python/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 19:40:02 +0000</pubDate>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1654789</guid>

					<description><![CDATA[<p>💡 Problem Formulation: Imagine you want to generate all possible arrangements of a sequence of items, such that each item is in a unique position in each arrangement. This is known as finding the permutations of the sequence. For example, given the sequence [1, 2, 3], the desired output is a list of permutations like ... <a title="4 Best Ways to Create a List of Permutations in Python" class="read-more" href="https://blog.finxter.com/4-best-ways-to-create-a-list-of-permutations-in-python/" aria-label="Read more about 4 Best Ways to Create a List of Permutations in Python">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/4-best-ways-to-create-a-list-of-permutations-in-python/">4 Best Ways to Create a List of Permutations in Python</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Problem Formulation:</strong> Imagine you want to generate all possible arrangements of a sequence of items, such that each item is in a unique position in each arrangement. This is known as finding the permutations of the sequence. <br><br>For example, given the sequence <code>[1, 2, 3]</code>, the desired output is a list of permutations like <code>[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]</code>.</p>



<p> This article will explore methods to achieve this in Python.</p>



<h2 class="wp-block-heading">Method 1: Using itertools.permutations</h2>



<p class="has-global-color-8-background-color has-background">The <code>itertools</code> module in Python provides a function <code>permutations()</code> which takes a sequence and returns an <a href="https://blog.finxter.com/iterators-iterables-and-itertools/" data-type="post" data-id="29507">iterator</a> over the permutations of the sequence. This method is simple and effective for generating permutations.</p>



<p>Here&#8217;s an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="4" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import itertools

items = [1, 2, 3]
permutations_list = list(itertools.permutations(items))
print(permutations_list)
# [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]</pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="965" height="167" src="https://blog.finxter.com/wp-content/uploads/2024/02/image-29.png" alt="" class="wp-image-1654790" srcset="https://blog.finxter.com/wp-content/uploads/2024/02/image-29.png 965w, https://blog.finxter.com/wp-content/uploads/2024/02/image-29-300x52.png 300w, https://blog.finxter.com/wp-content/uploads/2024/02/image-29-768x133.png 768w" sizes="auto, (max-width: 965px) 100vw, 965px" /></figure>
</div>


<p>This code snippet imports the <code><a href="https://blog.finxter.com/how-to-check-itertools-package-version-in-python/" data-type="post" data-id="479166">itertools</a></code> module and uses its <code>permutations</code> function to create an iterator over all possible permutations of the list <code>items</code>. We then convert this iterator to a list to print out the permutations.</p>



<h2 class="wp-block-heading">Method 2: Using Recursion</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="817" height="817" src="https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_bacec4ea-7061-495b-81eb-2d0a8c899cee.webp" alt="" class="wp-image-1654795" srcset="https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_bacec4ea-7061-495b-81eb-2d0a8c899cee.webp 817w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_bacec4ea-7061-495b-81eb-2d0a8c899cee-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_bacec4ea-7061-495b-81eb-2d0a8c899cee-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_bacec4ea-7061-495b-81eb-2d0a8c899cee-768x768.webp 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></figure>
</div>


<p class="has-global-color-8-background-color has-background">A recursive function can be designed to generate the permutations of a sequence. This involves swapping elements at each position with the rest and recursively calling the permutation function for the remaining part of the sequence.</p>



<p>Here&#8217;s an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def permute(sequence, start, end):
    if start == end:
        print(sequence)
    else:
        for i in range(start, end + 1):
            sequence[start], sequence[i] = sequence[i], sequence[start] # swap
            permute(sequence, start + 1, end)
            sequence[start], sequence[i] = sequence[i], sequence[start] # swap back

items = [1, 2, 3]
permute(items, 0, len(items) - 1)</pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="685" height="225" src="https://blog.finxter.com/wp-content/uploads/2024/02/image-30.png" alt="" class="wp-image-1654791" srcset="https://blog.finxter.com/wp-content/uploads/2024/02/image-30.png 685w, https://blog.finxter.com/wp-content/uploads/2024/02/image-30-300x99.png 300w" sizes="auto, (max-width: 685px) 100vw, 685px" /></figure>
</div>


<p>Output: </p>



<pre class="wp-block-preformatted"><code>[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 2, 1]
[3, 1, 2]</code></pre>



<p>In this code snippet, we define a function <code>permute</code> that takes the sequence and the starting and ending indices. It uses recursion to swap each element and generate permutations. It prints the permutations for each complete arrangement.</p>



<h2 class="wp-block-heading">Method 3: Using Heap&#8217;s Algorithm</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="817" height="817" src="https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_793f55c6-245c-4e07-9240-1635d497b6ad.webp" alt="" class="wp-image-1654794" srcset="https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_793f55c6-245c-4e07-9240-1635d497b6ad.webp 817w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_793f55c6-245c-4e07-9240-1635d497b6ad-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_793f55c6-245c-4e07-9240-1635d497b6ad-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_793f55c6-245c-4e07-9240-1635d497b6ad-768x768.webp 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></figure>
</div>


<p class="has-global-color-8-background-color has-background">Heap&#8217;s Algorithm is a classic method for generating permutations that works by generating the permutations of <code>n-1</code> elements of the sequence and then adding the nth element into every possible position.</p>



<p>Here&#8217;s an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def generate_permutations(n, sequence):
    if n == 1:
        print(sequence)
    else:
        for i in range(n-1):
            generate_permutations(n-1, sequence)
            if n % 2 == 0:
                sequence[i], sequence[n-1] = sequence[n-1], sequence[i]
            else:
                sequence[0], sequence[n-1] = sequence[n-1], sequence[0]
        generate_permutations(n-1, sequence)

items = [1, 2, 3]
generate_permutations(len(items), items)</pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="666" height="223" src="https://blog.finxter.com/wp-content/uploads/2024/02/image-31.png" alt="" class="wp-image-1654792" srcset="https://blog.finxter.com/wp-content/uploads/2024/02/image-31.png 666w, https://blog.finxter.com/wp-content/uploads/2024/02/image-31-300x100.png 300w" sizes="auto, (max-width: 666px) 100vw, 666px" /></figure>
</div>


<p>The code snippet defines a recursive function <code>generate_permutations</code> that takes the size of the sequence and the sequence itself. It generates permutations by recursively swapping elements using Heap&#8217;s Algorithm and prints each permutation.</p>



<h2 class="wp-block-heading">Method 4: Using the sympy library</h2>



<p class="has-global-color-8-background-color has-background">The <code>sympy</code> library, typically known for symbolic mathematics, also includes a utilities module which can generate permutations. This is useful if you are already working within a <code>sympy</code> environment.</p>



<p>Here&#8217;s an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from sympy.utilities.iterables import multiset_permutations

items = [1, 2, 3]
permutations_list = list(multiset_permutations(items))
print(permutations_list)</pre>



<p>In this code snippet, we import the <code>multiset_permutations</code> function from the <code>sympy</code> utilities module. We then use this function to generate an iterable of permutations of the list <code>items</code> and convert it into a list.</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://blog.finxter.com/symbolic-math-with-sympy/">Symbolic Math with SymPy</a></p>



<h2 class="wp-block-heading">Summary/Discussion</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="817" height="817" src="https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_03937e32-5ebf-49fd-893c-ee98e2734f23.webp" alt="" class="wp-image-1654793" srcset="https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_03937e32-5ebf-49fd-893c-ee98e2734f23.webp 817w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_03937e32-5ebf-49fd-893c-ee98e2734f23-300x300.webp 300w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_03937e32-5ebf-49fd-893c-ee98e2734f23-150x150.webp 150w, https://blog.finxter.com/wp-content/uploads/2024/02/finxter.com_permutations_abstract_image_of_03937e32-5ebf-49fd-893c-ee98e2734f23-768x768.webp 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></figure>
</div>


<ul class="wp-block-list">
<li><strong>Using itertools.permutations</strong>:
<ul class="wp-block-list">
<li>Strength: Incredibly simple and straightforward to use.</li>



<li>Weakness: Can consume a lot of memory with larger input sequences.</li>
</ul>
</li>



<li><strong>Using recursion</strong>:
<ul class="wp-block-list">
<li>Strength: Doesn&#8217;t require any additional modules.</li>



<li>Weakness: Can be less efficient and harder to understand for those not familiar with recursion.</li>
</ul>
</li>



<li><strong>Using Heap&#8217;s Algorithm</strong>:
<ul class="wp-block-list">
<li>Strength: More efficient than naive recursion.</li>



<li>Weakness: Algorithm could be non-intuitive for some users.</li>
</ul>
</li>



<li><strong>Using the sympy library</strong>:
<ul class="wp-block-list">
<li>Strength: Integrates well if already using sympy for other computations.</li>



<li>Weakness: Overhead of using a heavy library for a task achievable with standard libraries.</li>
</ul>
</li>
</ul>



<p>For quick and easy implementation, <code>itertools.permutations</code> is very handy. If learning or teaching recursion and backtracking algorithms, then methods 2 and 3 with recursion and Heap&#8217;s algorithm may be preferable. </p>



<p>When working in a scientific computing environment, <code>sympy</code> could be a natural choice. </p>



<h2 class="wp-block-heading">Python One-Liners Book: Master the Single Line First!</h2>



<p><strong>Python programmers will improve their computer science skills with these useful one-liners.</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-medium is-resized"><a href="https://www.amazon.com/gp/product/B07ZY7XMX8" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-1024x944.jpg" alt="Python One-Liners" class="wp-image-10007" width="512" height="472" srcset="https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-scaled.jpg 1024w, https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-300x277.jpg 300w, https://blog.finxter.com/wp-content/uploads/2020/06/3D_cover-768x708.jpg 768w" sizes="auto, (max-width: 512px) 100vw, 512px" /></a></figure></div>



<p><a href="https://amzn.to/2WAYeJE" target="_blank" rel="noreferrer noopener" title="https://amzn.to/2WAYeJE"><em>Python One-Liners</em> </a>will teach you how to read and write &#8220;one-liners&#8221;: <strong><em>concise statements of useful functionality packed into a single line of code. </em></strong>You&#8217;ll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert.</p>



<p>The book&#8217;s five chapters cover (1) tips and tricks, (2) regular expressions, (3) machine learning, (4) core data science topics, and (5) useful algorithms. </p>



<p>Detailed explanations of one-liners introduce <strong><em>key computer science concepts </em></strong>and<strong><em> boost your coding and analytical skills</em></strong>. You&#8217;ll learn about advanced Python features such as <em><strong>list comprehension</strong></em>, <strong><em>slicing</em></strong>, <strong><em>lambda functions</em></strong>, <strong><em>regular expressions</em></strong>, <strong><em>map </em></strong>and <strong><em>reduce </em></strong>functions, and <strong><em>slice assignments</em></strong>. </p>



<p>You&#8217;ll also learn how to:</p>



<ul class="wp-block-list"><li>Leverage data structures to <strong>solve real-world problems</strong>, like using Boolean indexing to find cities with above-average pollution</li><li>Use <strong>NumPy basics</strong> such as <em>array</em>, <em>shape</em>, <em>axis</em>, <em>type</em>, <em>broadcasting</em>, <em>advanced indexing</em>, <em>slicing</em>, <em>sorting</em>, <em>searching</em>, <em>aggregating</em>, and <em>statistics</em></li><li>Calculate basic <strong>statistics </strong>of multidimensional data arrays and the K-Means algorithms for unsupervised learning</li><li>Create more <strong>advanced regular expressions</strong> using <em>grouping </em>and <em>named groups</em>, <em>negative lookaheads</em>, <em>escaped characters</em>, <em>whitespaces, character sets</em> (and <em>negative characters sets</em>), and <em>greedy/nongreedy operators</em></li><li>Understand a wide range of <strong>computer science topics</strong>, including <em>anagrams</em>, <em>palindromes</em>, <em>supersets</em>, <em>permutations</em>, <em>factorials</em>, <em>prime numbers</em>, <em>Fibonacci </em>numbers, <em>obfuscation</em>, <em>searching</em>, and <em>algorithmic sorting</em></li></ul>



<p>By the end of the book, you&#8217;ll know how to <strong><em>write Python at its most refined</em></strong>, and create concise, beautiful pieces of &#8220;Python art&#8221; in merely a single line.</p>



<p><strong><a href="https://amzn.to/2WAYeJE" target="_blank" rel="noreferrer noopener" title="https://amzn.to/2WAYeJE"><em>Get your Python One-Liners on Amazon!!</em></a></strong></p>
<p>The post <a href="https://blog.finxter.com/4-best-ways-to-create-a-list-of-permutations-in-python/">4 Best Ways to Create a List of Permutations in Python</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Art of Clean Code &#8211; Less Is More In Design</title>
		<link>https://blog.finxter.com/the-art-of-clean-code-less-is-more-in-design/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Tue, 16 Jan 2024 14:41:52 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1654234</guid>

					<description><![CDATA[<p>As developers, we rarely perceive ourselves as designers, yet interface crafting is an integral facet of our craft. Be it shaping an intuitive dashboard for data analysis, architecting an easily navigable API, or constructing straightforward web interfaces for blockchain applications, a grasp on basic design principles separates the forgettable from the functional. 💡 This chapter ... <a title="The Art of Clean Code &#8211; Less Is More In Design" class="read-more" href="https://blog.finxter.com/the-art-of-clean-code-less-is-more-in-design/" aria-label="Read more about The Art of Clean Code &#8211; Less Is More In Design">Read more</a></p>
<p>The post <a href="https://blog.finxter.com/the-art-of-clean-code-less-is-more-in-design/">The Art of Clean Code &#8211; Less Is More In Design</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>As developers, we rarely perceive ourselves as designers, yet interface crafting is an integral facet of our craft. </p>



<p>Be it shaping an intuitive dashboard for data analysis, architecting an easily navigable API, or constructing straightforward web interfaces for blockchain applications, a grasp on basic design principles separates the forgettable from the functional. </p>



<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> This chapter examines the impactful principle of minimalism in design and user experience (UX).</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Previous Chapter</strong>: <a href="https://blog.finxter.com/the-unix-philosophy/" data-type="link" data-id="https://blog.finxter.com/the-unix-philosophy/">The Art of Clean Code — 14 Unix Principles</a></p>



<h2 class="wp-block-heading">Transformative Minimalism in Tech&#8217;s Evolution</h2>



<p>Reflect on the mobile phone&#8217;s trajectory—from the cumbersome &#8217;80s bulk to the sleek smartphones of the 21st century. Through Nokia&#8217;s iterative shedding of weight and size, and the eventual rise of the iPhone, a pattern emerges: elegance in tech aligns with the pursuit of less.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-103.png" alt="" class="wp-image-1654235" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-103.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-103-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /><figcaption class="wp-element-caption">Milestones in the evolution of mobile phones</figcaption></figure>
</div>


<p>This narrative is not exclusive to phones. Google&#8217;s search homepage offers a masterclass in minimalism—billions of users are welcomed daily by simplicity incarnate. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="605" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-104.png" alt="" class="wp-image-1654236" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-104.png 605w, https://blog.finxter.com/wp-content/uploads/2024/01/image-104-300x169.png 300w" sizes="auto, (max-width: 605px) 100vw, 605px" /></figure>
</div>


<p>In stark contrast, competitors like Yahoo muddied their interfaces with ads and news, a move that cost them users and market dominance.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-105.png" alt="" class="wp-image-1654237" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-105.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-105-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>


<p>Google&#8217;s <a href="https://material.io/design" data-type="link" data-id="https://material.io/design">Material Design</a> philosophies reinforce this commitment to intuitive, minimalist interfaces that resonate with users through familiarity and ease of interaction. These design choices aren&#8217;t solely about aesthetics; they are strategic, optimizing the most valuable resources: </p>



<ul class="wp-block-list">
<li>user time, </li>



<li>interface space, and </li>



<li>financial investment.</li>
</ul>



<h2 class="wp-block-heading">Crafting Minimalistic Design: Principles and Practices</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-106.png" alt="" class="wp-image-1654238" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-106.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-106-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /><figcaption class="wp-element-caption">Material vs Non-Material Design</figcaption></figure>
</div>


<h3 class="wp-block-heading">Prioritizing Whitespace</h3>



<p>Whitespace may wrongly be deemed wasted space—when it&#8217;s quite the contrary. Google and Apple leverage it to maintain user focus and clarity. An uncluttered interface may be the divider between retaining users and losing them to confusion.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-107.png" alt="" class="wp-image-1654239" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-107.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-107-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>


<p>The figure shows a simple design idea for an <strong>online pizza delivery service</strong>. The whitespace supports the focus on the main thing: getting customers to order pizza. Unfortunately, seldomly will a pizza delivery service be bold enough to use whitespace in such an extreme way.</p>



<p>Whitespace also helps increasing clarity with text:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-108.png" alt="" class="wp-image-1654240" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-108.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-108-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>


<p>The left side of the figure is far less readable. </p>



<p>The right side injects whitespace to improve readability and UX: </p>



<ul class="wp-block-list">
<li>margins on the left and right around the text block, </li>



<li>indentation of paragraphs, </li>



<li>an increased line height, </li>



<li>top and bottom margins around paragraphs, and </li>



<li>increased font size. </li>
</ul>



<p>The costs of this additional space are negligible: scrolling is cheap, and we don’t have to physically cut more trees for paper when the publication is digital. </p>



<p>On the other hand, the benefits are very real: the UX of your website or application improves significantly!</p>



<h3 class="wp-block-heading">Eliminating Redundant Elements</h3>



<p>In the quest for simplicity, question every element&#8217;s utility. Discard the superfluous, maintain the essential. The goal is not just good design; it is great design, one that prioritizes user needs over decorative features.</p>



<p>Here&#8217;s how you can think about it:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-109.png" alt="" class="wp-image-1654241" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-109.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-109-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>


<p>This shows an <strong>idealized editing process</strong> in which you classify each element according to its importance regarding the UX. </p>



<p>For example, does a menu item referring to your company’s blog help the user in the checkout process when ordering a product? No, so it should be classified as <em>not important</em>. </p>



<p>Amazon has stripped all unnecessary design elements from the ordering process, for instance, by introducing the one-click buy button. </p>



<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d1-200d-1f4bb.png" alt="🧑‍💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Story</strong>: When I first learned about this method in a scientific writing workshop, it completely transformed the way I thought about editing. Removing unimportant and less important design elements guarantees improved usability with little risk. But only truly great designers have the boldness to remove important design elements and leave only very important elements. Yet, this is what separates great from merely good design.</p>



<p>Here&#8217;s another example where many design elements have been successfully removed to accomplish greater quality and superior design:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-110.png" alt="" class="wp-image-1654242" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-110.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-110-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /><figcaption class="wp-element-caption"><strong>Remove unimportant elements</strong>. Left: Unfocused order page with many design elements. Right: Focused order page with unnecessary design elements removed.</figcaption></figure>
</div>


<h3 class="wp-block-heading">Cutting Down on Features</h3>



<p>Just as an author must kill their darlings, a developer must curb feature creep. The success stories of tech—think of Microsoft&#8217;s apparent bloated offerings—are actually narratives of ruthless feature prioritization.</p>



<p>But you don&#8217;t see the features that have been removed or not pursued further. To keep learning about this, check out our lesson on MVPs:</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://blog.finxter.com/the-art-of-clean-code-minimum-viable-product-mvp/" data-type="link" data-id="https://blog.finxter.com/the-art-of-clean-code-minimum-viable-product-mvp/">The Art of Clean Code – Minimum Viable Product (MVP)</a></p>



<h3 class="wp-block-heading">Streamlining Design Variations</h3>



<p>Cognitive ease should guide design choices. Limit font variations, color uses, and sizes to reduce complexity. Consistent, focused use of these elements leads to a more coherent user experience.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="340" src="https://blog.finxter.com/wp-content/uploads/2024/01/image-111.png" alt="" class="wp-image-1654243" srcset="https://blog.finxter.com/wp-content/uploads/2024/01/image-111.png 604w, https://blog.finxter.com/wp-content/uploads/2024/01/image-111-300x169.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>


<h3 class="wp-block-heading">Consistency Across Interfaces</h3>



<p>Uniformity across app interfaces isn&#8217;t merely about aesthetics—it&#8217;s about creating a cohesive and instantly recognizable user experience. Adherence to brand guidelines ensures this consistency.</p>



<h2 class="wp-block-heading">The Future of Design: Simplicity Reigns</h2>



<p>As we look ahead, the essence of minimalism in design seems poised to deepen with advancements in voice recognition and virtual interfaces.</p>



<p>The trend suggests an evolution toward even more streamlined user experiences. We&#8217;re moving towards an era where the ultimate design may well be an &#8216;invisible&#8217; interface, integrated seamlessly into our daily lives.</p>



<p>Through examples from giants like Apple and Google, we&#8217;ve observed the powerful impact minimalism has in the tech world—a realm where the simplest interfaces are often the most successful. As technology continues to evolve, one truth remains clear: <strong>in the world of design, less indeed proves to be more</strong>.</p>



<p>Stay tuned for the next chapter, where we conclude with focus—its critical role and impact in the realm of programming.</p>



<p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Advanced Reading</strong>: For those eager to delve into the principles highlighted in this chapter, detailed insights can be found in Google&#8217;s Material Design guidelines (<a href="https://material.io/design/introduction/">https://material.io/design/introduction/</a>) and Apple&#8217;s Interface design documentation (<a href="https://developer.apple.com/design/human-interface-guidelines/">https://developer.apple.com/design/human-interface-guidelines/</a>). </p>
<p>The post <a href="https://blog.finxter.com/the-art-of-clean-code-less-is-more-in-design/">The Art of Clean Code &#8211; Less Is More In Design</a> appeared first on <a href="https://blog.finxter.com">Be on the Right Side of Change</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Minified using Disk

Served from: blog.finxter.com @ 2026-05-16 06:56:21 by W3 Total Cache
-->