<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ridwan Ahmed Arman</title>
    <description>The latest articles on DEV Community by Ridwan Ahmed Arman (@ridwanahmed002).</description>
    <link>https://dev.to/ridwanahmed002</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2320868%2Fd9396cb3-0a11-4f4b-bb60-f5ac07d906f4.jpeg</url>
      <title>DEV Community: Ridwan Ahmed Arman</title>
      <link>https://dev.to/ridwanahmed002</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ridwanahmed002"/>
    <language>en</language>
    <item>
      <title>Revise Python in 15 days for ML (2025) : Day 5 (Dic)</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Thu, 15 May 2025 17:50:39 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-5-dic-37hc</link>
      <guid>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-5-dic-37hc</guid>
      <description></description>
      <category>python</category>
      <category>machinelearning</category>
      <category>tutorial</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>Revise Python in 15 days for ML (2025) : Day 5 (List)</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Wed, 14 May 2025 05:12:05 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-5-list-1lk</link>
      <guid>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-5-list-1lk</guid>
      <description>&lt;p&gt;&lt;em&gt;Welcome to Day 5 of our Python journey! If you missed &lt;a href="https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-4-5cpc"&gt;Day 4&lt;/a&gt; where we explored loops, be sure to check it out before diving into today's content!&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔑 Introduction to Data Structures
&lt;/h2&gt;

&lt;p&gt;Today we start our exploration of Python's data structures, beginning with one of the most versatile and commonly used: &lt;strong&gt;Lists&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;Data structures are like specialized containers that organize and store data in ways that make it easy to access and modify. Think of them as different types of toolboxes, each designed for specific kinds of jobs.&lt;/p&gt;

&lt;h2&gt;
  
  
  📚 Lists: Python's Swiss Army Knife
&lt;/h2&gt;

&lt;p&gt;A list is a collection of items stored in a specific order. Lists are incredibly versatile and are one of the most frequently used data structures in Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Key Characteristics of Lists
&lt;/h3&gt;

&lt;p&gt;Lists have three fundamental properties that make them special:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;🔢 Ordered&lt;/strong&gt;: Items maintain their position - the 1st item stays 1st unless you change it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔄 Mutable&lt;/strong&gt;: You can change, add, or remove items after creating the list&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔁 Allow Duplicates&lt;/strong&gt;: The same value can appear multiple times in a list&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Remember&lt;/strong&gt;: Order matters in lists! The sequence of elements is preserved.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🛠️ Creating and Accessing Lists
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Basic Syntax
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;item1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item4&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Example
&lt;/span&gt;&lt;span class="n"&gt;list_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;  &lt;span class="c1"&gt;# Output: 1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔍 How Indexing Works
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Lists use &lt;strong&gt;zero-based indexing&lt;/strong&gt; - the first element is at position 0&lt;/li&gt;
&lt;li&gt;You access elements using square brackets &lt;code&gt;[]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Negative indices count from the end: &lt;code&gt;list_1[-1]&lt;/code&gt; gets the last element&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧰 Essential List Operations
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Adding Elements
&lt;/h3&gt;

&lt;p&gt;There are multiple ways to add elements to a list:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Create an empty list and add elements
&lt;/span&gt;&lt;span class="n"&gt;list_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;list_2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;  &lt;span class="c1"&gt;# Adds user input to the end of the list
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Removing Elements
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# Removes the last element
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Output: [1, 2, 3, 4]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔧 List Methods: Your Toolkit for Manipulation
&lt;/h2&gt;

&lt;p&gt;Python lists come with many built-in methods that make working with them a breeze:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;count()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Counts occurrences of an element&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.count(3)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;index()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns position of first occurrence&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.index(3)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reverse()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Reverses the list in-place&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.reverse()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sort()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sorts the list in-place&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.sort()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;extend()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds elements from another iterable&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.extend([6,7,8])&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;insert()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Inserts element at specific position&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.insert(2,9)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;remove()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Removes first occurrence of value&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.remove(9)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;append()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adds element to end of list&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.append(9)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pop()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Removes element at position (default last)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.pop()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;clear()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Removes all elements&lt;/td&gt;
&lt;td&gt;&lt;code&gt;list_3.clear()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Let's see these methods in action:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Finding information
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;    &lt;span class="c1"&gt;# Output: 1 (count of element 3)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;    &lt;span class="c1"&gt;# Output: 2 (position of element 3)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;         &lt;span class="c1"&gt;# Output: 5 (last element)
&lt;/span&gt;
&lt;span class="c1"&gt;# Changing order
&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reverse&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;After reverse&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Output: After reverse [5, 4, 3, 2, 1]
&lt;/span&gt;
&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;After sort&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;     &lt;span class="c1"&gt;# Output: After sort [1, 2, 3, 4, 5]
&lt;/span&gt;
&lt;span class="c1"&gt;# Adding elements
&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;After extend&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# Output: After extend [1, 2, 3, 4, 5, 6, 7, 8]
&lt;/span&gt;
&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;After insert&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# Output: After insert [1, 2, 9, 3, 4, 5, 6, 7, 8]
&lt;/span&gt;
&lt;span class="c1"&gt;# Removing elements
&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;After remove&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# Output: After remove [1, 2, 3, 4, 5, 6, 7, 8]
&lt;/span&gt;
&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;                   &lt;span class="c1"&gt;# Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
&lt;/span&gt;
&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;                   &lt;span class="c1"&gt;# Output: [1, 2, 3, 4, 5, 6, 7, 8]
&lt;/span&gt;
&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;                   &lt;span class="c1"&gt;# Output: []
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📝 Copying Lists: A Critical Distinction
&lt;/h2&gt;

&lt;p&gt;There are two ways to copy a list, but they behave very differently:&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 1: Using the &lt;code&gt;copy()&lt;/code&gt; method
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_4&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_5&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list_4&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Output: [1, 2, 3, 4, 5]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Method 2: Using assignment (&lt;code&gt;=&lt;/code&gt;)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;hello&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list_1&lt;/span&gt;            &lt;span class="c1"&gt;# Creates a reference, not a new list
&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;     &lt;span class="c1"&gt;# Creates a new independent list
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ⚠️ The Crucial Difference
&lt;/h3&gt;

&lt;p&gt;Watch what happens when we modify the original list:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;             &lt;span class="c1"&gt;# Changed value in list_1
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;              &lt;span class="c1"&gt;# Output: [10, 'hello', 3, 4, 5] - list_2 changed!
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;              &lt;span class="c1"&gt;# Output: [1, 'hello', 3, 4, 5] - list_3 remains unchanged
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;🔍 &lt;strong&gt;What's happening?&lt;/strong&gt; When you use &lt;code&gt;=&lt;/code&gt;, you're creating a reference to the same list in memory. When you use &lt;code&gt;copy()&lt;/code&gt;, you're creating a brand new list with the same values.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🧩 Append vs. Extend: Another Important Distinction
&lt;/h2&gt;

&lt;p&gt;These two methods might seem similar, but they behave quite differently:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Using append with a list
&lt;/span&gt;&lt;span class="n"&gt;list_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Output: [1, 2, 3, 4, 5, [6, 7, 8]]
&lt;/span&gt;
&lt;span class="c1"&gt;# Using extend with a list
&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_4&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list_3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Output: [1, 2, 3, 4, 5, 6, 7, 8]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Key difference&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;append()&lt;/code&gt; adds the entire object as a single element&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;extend()&lt;/code&gt; adds each element of the iterable individually&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  ✨ List Comprehensions: The Pythonic Superpower
&lt;/h2&gt;

&lt;p&gt;List comprehensions are a concise way to create lists. They're one of Python's most powerful features and can often replace loops for list creation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Basic Syntax:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;list_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;expression&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;iterable&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Simple Example:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Creating a list of squares from 0 to 9
&lt;/span&gt;&lt;span class="n"&gt;squares&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;squares&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  
&lt;span class="c1"&gt;# Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🌟 Advanced Example: Creating a Matrix
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Creating a 5×3 matrix using nested list comprehension
&lt;/span&gt;&lt;span class="n"&gt;matrix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;matrix&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# Output: [[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📊 When to Use Lists?
&lt;/h2&gt;

&lt;p&gt;Lists are perfect when you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ordered collection&lt;/strong&gt; of items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible modification&lt;/strong&gt; - adding, removing, or changing elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sequence operations&lt;/strong&gt; like slicing, concatenation, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mixed data types&lt;/strong&gt; in one collection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧠 List Performance Considerations
&lt;/h2&gt;

&lt;p&gt;Understanding list performance helps you use them more effectively:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accessing elements&lt;/strong&gt; by index: O(1) - Lightning fast!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Searching&lt;/strong&gt; (without knowing the index): O(n) - Must check each element&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Insertion/deletion at beginning/middle&lt;/strong&gt;: O(n) - Must shift elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Insertion/deletion at end&lt;/strong&gt;: O(1) - Very fast when using &lt;code&gt;append()&lt;/code&gt;/&lt;code&gt;pop()
&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💪 Practice Exercises
&lt;/h2&gt;

&lt;p&gt;Try these exercises to strengthen your understanding:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a list of the first 10 prime numbers using a loop&lt;/li&gt;
&lt;li&gt;Write a function that takes two lists and returns a new list with common elements&lt;/li&gt;
&lt;li&gt;Use list comprehension to create a list of all even numbers between 1 and 50&lt;/li&gt;
&lt;li&gt;Create a function that flattens a nested list (hint: use extend)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🔍 Common Mistakes to Avoid
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Forgetting that lists start at index 0&lt;/strong&gt;, not 1&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Using &lt;code&gt;=&lt;/code&gt; instead of &lt;code&gt;copy()&lt;/code&gt;&lt;/strong&gt; when you need an independent copy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Confusing &lt;code&gt;append()&lt;/code&gt; and &lt;code&gt;extend()&lt;/code&gt;&lt;/strong&gt; when adding elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modifying a list while iterating&lt;/strong&gt; through it (can cause unexpected behavior)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Tomorrow: Tuples
&lt;/h2&gt;

&lt;p&gt;Tomorrow we'll explore &lt;strong&gt;tuples&lt;/strong&gt; - Python's immutable, ordered sequences. We'll see how they differ from lists and when to use each one.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ridwanahmed002/Python---Basics/blob/main/day_5_lists.ipynb" rel="noopener noreferrer"&gt;Complete Day 5 Notebook on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.python.org/3/tutorial/datastructures.html#more-on-lists" rel="noopener noreferrer"&gt;Python Official Documentation on Lists&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-4-5cpc"&gt;← Day 4: Mastering Loops&lt;/a&gt; | Day 5: Python Lists | [Day 6: Tuples →]&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What's your favorite list method? Share in the comments below!&lt;/em&gt; 💬&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Revise Python in 15 days for ML (2025) : Day 4 (Loop)</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Tue, 13 May 2025 10:59:35 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-4-5cpc</link>
      <guid>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-4-5cpc</guid>
      <description>&lt;p&gt;&lt;em&gt;Welcome to Day 4 of our Python journey! If you missed &lt;a href="https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-3-3cog"&gt;Day 3&lt;/a&gt; where we explored operators and conditionals, make sure to check it out first!&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔁 What Are Loops?
&lt;/h2&gt;

&lt;p&gt;Loops are like having a super-efficient assistant who can repeat the same task multiple times without getting tired. Instead of writing the same code over and over, we can wrap it in a loop and let Python handle the repetition!&lt;/p&gt;

&lt;p&gt;Today we'll master &lt;strong&gt;two powerful loop types&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔢 &lt;strong&gt;For loops&lt;/strong&gt; - when you know exactly how many times you want to repeat something&lt;/li&gt;
&lt;li&gt;⏱️ &lt;strong&gt;While loops&lt;/strong&gt; - when you want to keep going until a condition changes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔢 For Loops: The Counting Champion
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkt6su00v4rrlkstlfoy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkt6su00v4rrlkstlfoy.png" alt="Image description" width="620" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A for loop works like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Specify what you want to iterate through&lt;/li&gt;
&lt;li&gt;For each item, execute the indented code block&lt;/li&gt;
&lt;li&gt;Move to the next item and repeat until you've gone through everything&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  💫 Magic of Iteration: Three Ways to Use For Loops
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1️⃣ Iterating Through Each Character
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Ridwan&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;i&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;R i
i i
d i
w i
a i
n i
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What's happening?&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python takes each character from "Ridwan" one by one&lt;/li&gt;
&lt;li&gt;It temporarily stores each character in the variable &lt;code&gt;i&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Then it runs the indented code (printing the character and 'i')&lt;/li&gt;
&lt;li&gt;It automatically moves to the next character&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2️⃣ Using Range and Indexing
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Rid wan&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;i&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;R i
i i
d i
  i
w i
a i
n i
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What's happening?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;range(len(name))&lt;/code&gt; creates a sequence: 0, 1, 2, 3, 4, 5, 6&lt;/li&gt;
&lt;li&gt;Each number is stored in &lt;code&gt;i&lt;/code&gt; during each loop iteration&lt;/li&gt;
&lt;li&gt;We use &lt;code&gt;i&lt;/code&gt; as an index to access each character with &lt;code&gt;name[i]&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro Tip:&lt;/strong&gt; This approach gives you the index position, which can be really useful when you need to know where you are in the sequence!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  3️⃣ Processing List Items
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;L&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nb"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nb"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sum is = &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 1
2 3
3 6
4 10
5 15
sum is = 15
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What's happening?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python takes each number from the list one by one&lt;/li&gt;
&lt;li&gt;It temporarily stores each number in the variable &lt;code&gt;i&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;It adds &lt;code&gt;i&lt;/code&gt; to our running total &lt;code&gt;sum&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;It prints both the current number and the running total&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⏱️ While Loops: The Patient Guardian
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsb5ek37apwej30hycyb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsb5ek37apwej30hycyb.png" alt="Image description" width="620" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While loops work differently:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if a condition is True&lt;/li&gt;
&lt;li&gt;If True, execute the code block&lt;/li&gt;
&lt;li&gt;Check the condition again&lt;/li&gt;
&lt;li&gt;Keep repeating until the condition becomes False
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Rid wan&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;i&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;R i
i i
d i
  i
w i
a i
n i
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What's happening?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We start with &lt;code&gt;i = 0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The loop checks if &lt;code&gt;i &amp;lt; len(name)&lt;/code&gt; (which is 7)&lt;/li&gt;
&lt;li&gt;If True, it prints the character at position &lt;code&gt;i&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Then it increases &lt;code&gt;i&lt;/code&gt; by 1 with &lt;code&gt;i += 1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;This process repeats until &lt;code&gt;i&lt;/code&gt; reaches 7, at which point the condition is False&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🎭 For Loops vs While Loops: The Key Differences
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;For Loop&lt;/th&gt;
&lt;th&gt;While Loop&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Best Used When&lt;/td&gt;
&lt;td&gt;You know exactly how many iterations you need&lt;/td&gt;
&lt;td&gt;You don't know in advance how many iterations you need&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Counter&lt;/td&gt;
&lt;td&gt;Managed automatically&lt;/td&gt;
&lt;td&gt;You must initialize and update yourself&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typical Use Cases&lt;/td&gt;
&lt;td&gt;Iterating through collections&lt;/td&gt;
&lt;td&gt;Validating user input, processing until a condition is met&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Risk&lt;/td&gt;
&lt;td&gt;Less prone to infinite loops&lt;/td&gt;
&lt;td&gt;Can create infinite loops if condition never becomes False&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Warning!&lt;/strong&gt; Always make sure your while loop condition will eventually become False, or your program will run forever!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🌀 Nested Loops: Loops Inside Loops
&lt;/h2&gt;

&lt;p&gt;Nested loops are like wheels within wheels - an inner loop runs completely for each iteration of the outer loop.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧩 Basic Nested Loop
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 1
1 2
1 3
1 4

2 1
2 2
2 3
2 4

3 1
3 2
3 3
3 4

4 1
4 2
4 3
4 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What's happening?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The outer loop runs 4 times (i = 1, 2, 3, 4)&lt;/li&gt;
&lt;li&gt;For each value of i, the inner loop runs 4 times (j = 1, 2, 3, 4)&lt;/li&gt;
&lt;li&gt;That's a total of 16 print statements!&lt;/li&gt;
&lt;li&gt;The empty &lt;code&gt;print()&lt;/code&gt; adds a blank line after each inner loop completes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧮 Practical Example: Multiplication Table
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8

3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12

4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Visualization of nested loops:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Outer loop (i=1) → Inner loop (j=1,2,3,4) → Print blank line
Outer loop (i=2) → Inner loop (j=1,2,3,4) → Print blank line
Outer loop (i=3) → Inner loop (j=1,2,3,4) → Print blank line
Outer loop (i=4) → Inner loop (j=1,2,3,4) → Print blank line
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🛠️ Practical Loop Applications
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;For loops are great for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Processing each item in a list, tuple, string, or dictionary&lt;/li&gt;
&lt;li&gt;Executing code a specific number of times&lt;/li&gt;
&lt;li&gt;Iterating with precise control over the sequence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;While loops excel at:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Processing user input until it's valid&lt;/li&gt;
&lt;li&gt;Reading file data until end-of-file&lt;/li&gt;
&lt;li&gt;Running games until the player quits&lt;/li&gt;
&lt;li&gt;Implementing algorithms that run until convergence&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧠 Loop Selection Guide
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Choose a for loop when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can count the iterations in advance&lt;/li&gt;
&lt;li&gt;You're working with a collection (list, string, etc.)&lt;/li&gt;
&lt;li&gt;You need automatic iteration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Choose a while loop when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The number of iterations depends on user input&lt;/li&gt;
&lt;li&gt;You need to check a condition before each iteration&lt;/li&gt;
&lt;li&gt;You might need to skip iterations or break early based on conditions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Challenge Yourself!
&lt;/h2&gt;

&lt;p&gt;Try these exercises to cement your understanding:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a program that uses a for loop to find all even numbers between 1 and 20&lt;/li&gt;
&lt;li&gt;Write a while loop that asks for names until the user enters "quit"&lt;/li&gt;
&lt;li&gt;Build a nested loop to create a simple pattern of asterisks forming a triangle&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🔗 Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ridwanahmed002/Python---Basics/blob/main/day_4_loop.ipynb" rel="noopener noreferrer"&gt;Complete Day 4 Notebook on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/python-while-loop/" rel="noopener noreferrer"&gt;GeeksforGeeks Python Loops Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔮 Coming Up Next...
&lt;/h2&gt;

&lt;p&gt;Tomorrow we'll dive into Python data structures - the fundamental building blocks for organizing and storing your data efficiently!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-3-3cog"&gt;← Day 3: Operators &amp;amp; Conditionals&lt;/a&gt; | Day 4: Mastering Loops | [Day 5: Data Structures →]&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Which loop do you find more useful in your coding projects? Share your thoughts in the comments below!&lt;/em&gt; 💬&lt;/p&gt;

</description>
      <category>programming</category>
      <category>machinelearning</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Revise Python in 15 days for ML (2025): Day 3 (Operators &amp; Conditions)</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Sun, 11 May 2025 20:14:16 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-3-3cog</link>
      <guid>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-3-3cog</guid>
      <description>&lt;p&gt;&lt;em&gt;Welcome back, Python explorers! This is Day 3 of our coding journey. Missed &lt;a href="https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-2-5ph"&gt;Day 2&lt;/a&gt;? Catch up before diving in today!&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 The Power Tools: Python Operators
&lt;/h2&gt;

&lt;p&gt;Think of operators as Python's Swiss Army knife - small symbols that perform powerful actions. Let's unlock them one by one!&lt;/p&gt;

&lt;h3&gt;
  
  
  ➕ Arithmetic Operators: Math Made Easy
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 7 (Addition)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# -1 (Subtraction)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 12 (Multiplication)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 0.75 (Division)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 16 (Exponentiation - 2 raised to power 4)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 0 (Floor division - divides and rounds down)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 3 (Modulus - returns remainder after division)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Quick Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;**&lt;/code&gt; for powers (faster than importing math.pow)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;//&lt;/code&gt; gives you clean integers when you don't need decimals&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;%&lt;/code&gt; is perfect for checking divisibility or creating cycles&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔍 Identity Operators: The Memory Detectives
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;      &lt;span class="c1"&gt;# False
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# True
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Key Insight:&lt;/strong&gt; &lt;code&gt;is&lt;/code&gt; checks if two variables reference the same object in memory - not just the same value!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  ⚠️ The &lt;code&gt;==&lt;/code&gt; vs &lt;code&gt;is&lt;/code&gt; Trap:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# True (values are equal)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# False (different objects in memory)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;But wait!&lt;/strong&gt; Numbers and strings can behave differently:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# True (Python optimizes by reusing same object)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🧮 Bitwise Operators: Binary Magic
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 0 (Bitwise AND)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 7 (Bitwise OR)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 7 (Bitwise XOR)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;      &lt;span class="c1"&gt;# -5 (Bitwise NOT)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 48 (Left shift)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 0 (Right shift)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Visual breakdown:&lt;/strong&gt; When we do &lt;code&gt;3 &amp;amp; 4&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;3 in binary = &lt;code&gt;011&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;4 in binary = &lt;code&gt;100&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;011 &amp;amp; 100 = 000&lt;/code&gt; (0 in decimal)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚖️ Comparison Operators: Decision Makers
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# False (Equal to)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# True (Not equal to)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# False (Greater than)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# True (Less than)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# False (Greater than or equal to)
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# True (Less than or equal to)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Remember:&lt;/strong&gt; These always return Boolean values (&lt;code&gt;True&lt;/code&gt; or &lt;code&gt;False&lt;/code&gt;) - the foundation of conditional logic!&lt;/p&gt;

&lt;h3&gt;
  
  
  ✏️ Assignment Operators: Elegant Shortcuts
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;      &lt;span class="c1"&gt;# Basic assignment
&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;     &lt;span class="c1"&gt;# x = x + 4 (now x is 7)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;More shortcuts you'll love:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-=&lt;/code&gt; for subtraction&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;*=&lt;/code&gt; for multiplication&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/=&lt;/code&gt; for division&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;**=&lt;/code&gt; for exponentiation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;//=&lt;/code&gt; for floor division&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;%=&lt;/code&gt; for modulus&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔎 Membership Operators: The Finders
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;       &lt;span class="c1"&gt;# True
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# True
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; These work on any iterable - lists, tuples, strings, dictionaries, and sets!&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Conditional Statements: The Decision Trees
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ⚡ Basic if-elif-else Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;x is 10&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;x is 20&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;x is neither 10 nor 20&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Flow visualization:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if x is 10

&lt;ul&gt;
&lt;li&gt;If TRUE → Print message and exit&lt;/li&gt;
&lt;li&gt;If FALSE → Continue to next check&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Check if x is 20

&lt;ul&gt;
&lt;li&gt;If TRUE → Print message and exit&lt;/li&gt;
&lt;li&gt;If FALSE → Execute else block&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🌳 Nested Conditionals: Complex Decision Trees
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Enter a number: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The number is divisible by both 2 and 3.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The number is divisible by 2 but not by 3.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The number is not divisible by 2 but divisible by 3.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The number is not divisible by either 2 or 3.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Decision chart:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is num divisible by 2?

&lt;ul&gt;
&lt;li&gt;YES → Is num divisible by 3?&lt;/li&gt;
&lt;li&gt;YES → "Divisible by both 2 and 3"&lt;/li&gt;
&lt;li&gt;NO → "Divisible by 2 but not by 3"&lt;/li&gt;
&lt;li&gt;NO → Is num divisible by 3?&lt;/li&gt;
&lt;li&gt;YES → "Not divisible by 2 but divisible by 3"&lt;/li&gt;
&lt;li&gt;NO → "Not divisible by either 2 or 3"&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  🏆 Challenge Yourself!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Put your new skills to use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a program that determines if a year is a leap year&lt;/li&gt;
&lt;li&gt;Build a simple calculator that uses all arithmetic operators&lt;/li&gt;
&lt;li&gt;Write a script to check if a number is prime&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔗 Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ridwanahmed002/Python---Basics/blob/main/day_3.ipynb" rel="noopener noreferrer"&gt;Complete Day 3 Notebook on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.python.org/3/library/operator.html" rel="noopener noreferrer"&gt;Python Official Documentation on Operators&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔮 Coming Up Next...
&lt;/h2&gt;

&lt;p&gt;Tomorrow we'll explore loops and iteration - the tools that let your programs repeat tasks efficiently!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-2-5ph"&gt;← Day 2: Python Data Types&lt;/a&gt; | Day 3: Operators &amp;amp; Conditionals | [Day 4: Coming Soon →]&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Drop a comment below with your favorite Python operator and why you love it! Let's learn together!&lt;/em&gt; 💬&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Revise Python in 15 days for ML (2025): Day 2 (Data Types)</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Sun, 11 May 2025 09:21:16 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-2-5ph</link>
      <guid>https://dev.to/ridwanahmed002/revise-python-in-15-days-for-ml-2025-day-2-5ph</guid>
      <description>&lt;p&gt;Hey everyone! Welcome back to my 14-Day Python Revision Challenge for Machine Learning! 🎉 I’m on Day 2 today, and I’m super excited to share what I’ve learned. We’re diving into Data Types in Python—specifically numeric data, sequence data (like lists, tuples, ranges, arrays), sets, and dictionaries. I’ll break it all down in a simple, friendly way with examples, so it’s easy to follow. Let’s get started! 😊&lt;/p&gt;

&lt;p&gt;Day 1 is here &lt;a href="https://dev.to/ridwanahmed002/revise-python-in-14-days-for-ml-2025-day-1-52kg"&gt;&lt;strong&gt;Day 1&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2: Python Data Types - The Building Blocks 🧱
&lt;/h2&gt;

&lt;p&gt;Data types are like the different kinds of containers you use to store stuff in Python. Today, I explored a bunch of them, and I’ll explain each one step by step with examples.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Numeric Data - Numbers in Python 🔢
&lt;/h3&gt;

&lt;p&gt;Python handles different kinds of numbers: integers (whole numbers), floats (decimals), and complex numbers.&lt;/p&gt;

&lt;h4&gt;
  
  
  Integers, Floats, and Complex Numbers:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = 10          # Integer (whole number)
y = 10.8        # Float (decimal number)
z = 10 + 2j     # Complex number (has real and imaginary parts)
print(type(x))  # Output: &amp;lt;class 'int'&amp;gt;
print(type(y))  # Output: &amp;lt;class 'float'&amp;gt;
print(type(z))  # Output: &amp;lt;class 'complex'&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;type() tells you what kind of data you’re working with.&lt;/li&gt;
&lt;li&gt;isinstance(y, int) checks if y is an integer. Here, it’s False because y is a float.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Converting Between Types
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Trying to convert a complex number to an integer doesn’t work
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;z = int(z)  # Error: You can’t convert a complex number to an integer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Working with Complex Numbers:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;n = complex(input("Enter number: "))  # Input: 10
print(type(n))  # Output: &amp;lt;class 'complex'&amp;gt;
print(n)        # Output: (10+0j)
print(n.real)   # Output: 10.0 (real part)
print(n.imag)   # Output: 0.0 (imaginary part)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;You can create a complex number from user input using complex().&lt;/li&gt;
&lt;li&gt;n.real and n.imag let you access the real and imaginary parts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Sequence Data - Ordered Collections 📋
&lt;/h3&gt;

&lt;p&gt;Sequences are data types that store items in a specific order. Let’s look at lists, tuples, ranges, and arrays.&lt;/p&gt;

&lt;h4&gt;
  
  
  Lists
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;L = [1, 2, 3, 4, 5]  # Lists use square brackets []
print(L)      # Output: [1, 2, 3, 4, 5]
print(L[1])   # Output: 2 (index 1)
print(L[-1])  # Output: 5 (last item)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lists are like a shopping list—you can change them anytime.&lt;br&gt;
Access items using their index (position), starting from 0. Negative indices count from the end.&lt;/p&gt;
&lt;h4&gt;
  
  
  Tuples
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;T = (1, 2, 3, 4, 5)  # Tuples use parentheses ()
print(T)      # Output: (1, 2, 3, 4, 5)
print(T[1])   # Output: 2 (index 1)
print(T[-1])  # Output: 5 (last item)
print(T[1:4]) # Output: (2, 3, 4) (slicing from index 1 to 3)
print(type(T))# Output: &amp;lt;class 'tuple'&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Tuples are like a sealed envelope—once created, you can’t change them.&lt;/li&gt;
&lt;li&gt;You can access items the same way as lists, including slicing (like T[1:4]).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Ranges:
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = range(5, 12, 2)  # Start at 5, go up to (but not including) 12, step by 2
print(x)  # Output: range(5, 12, 2)
for i in x:
    print(i)  # Output: 5, 7, 9, 11 (one per line)
print(list(x))  # Output: [5, 7, 9, 11]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;range(start, stop, step) generates a sequence of numbers.&lt;/li&gt;
&lt;li&gt;You can loop over it with a for loop or convert it to a list&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Arrays:
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import array as ar
a = ar.array('i', [1, 2, 3, 4, 5])  # 'i' means integer type
print(a)  # Output: array('i', [1, 2, 3, 4, 5])
b = ar.array('f', [1.5, 2, 3, 4, 5])  # 'f' means float type
print(b)  # Output: array('f', [1.5, 2.0, 3.0, 4.0, 5.0])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Arrays are like lists but more strict—you need to specify the data type ('i' for integers, 'f' for floats).&lt;/li&gt;
&lt;li&gt;They’re not used as often as lists, but good to know for ML when working with numerical data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. Sets - Unique Collections 🗳️
&lt;/h3&gt;

&lt;p&gt;Sets store unique items—no duplicates allowed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;s = {1, 2, 3, 4, 5}
print(s)  # Output: {1, 2, 3, 4, 5}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Sets use curly braces {}.&lt;/li&gt;
&lt;li&gt;If you try to add duplicates (like s = {1, 1, 2}), it’ll only keep one copy: {1, 2}.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Dictionaries - Key-Value Pairs 📖
&lt;/h3&gt;

&lt;p&gt;Dictionaries store data as key-value pairs, like a phonebook.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;d = {"name": "ridwan", "age": 20}
print(d)           # Output: {'name': 'ridwan', 'age': 20}
print(d["name"])   # Output: ridwan
print(d.get("name"))  # Output: ridwan
print(d.keys())    # Output: dict_keys(['name', 'age'])
print(d.values())  # Output: dict_values(['ridwan', 20])
print(d.items())   # Output: dict_items([('name', 'ridwan'), ('age', 20)])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Dictionaries use curly braces {} with key: value pairs.&lt;/li&gt;
&lt;li&gt;Access values using the key (d["name"]) or with d.get("name").&lt;/li&gt;
&lt;li&gt;keys(), values(), and items() give you the keys, values, or both as pairs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quick Comparison: Lists, Tuples, and Sets 🤔
&lt;/h3&gt;

&lt;p&gt;Here’s a simple breakdown of the differences between lists, tuples, and sets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lists: Ordered, changeable, allows duplicates. Example: [1, 2, 2, 3].&lt;/li&gt;
&lt;li&gt;Tuples: Ordered, unchangeable, allows duplicates. Example: (1, 2, 2, 3).&lt;/li&gt;
&lt;li&gt;Sets: Unordered, changeable, no duplicates. Example: {1, 2, 3} (no repeats).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ll dive deeper into these three topics on another day, so stay tuned for more on that! 😄&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 2 Wrap-Up 🌟
&lt;/h3&gt;

&lt;p&gt;Today was all about understanding Python’s data types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Numeric Data: Integers, floats, and complex numbers—great for math in ML.&lt;/li&gt;
&lt;li&gt;Sequence Data: Lists, tuples, ranges, and arrays for ordered collections.&lt;/li&gt;
&lt;li&gt;Sets: Perfect for unique items.&lt;/li&gt;
&lt;li&gt;Dictionaries: Handy for key-value data like a mini-database.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 1 is here &lt;a href="https://dev.to/ridwanahmed002/revise-python-in-14-days-for-ml-2025-day-1-52kg"&gt;&lt;strong&gt;Day 1&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m feeling more confident already! Tomorrow, I’ll probably tackle some control flow stuff like loops and conditionals. If you’re following along, try playing with these data types in your own Python editor—it really helps to experiment! Let me know how you’re doing in the comments. See you for Day 3! 🚀&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Revise Python in 15 days for ML (2025) : Day 1</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Sun, 11 May 2025 04:24:43 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/revise-python-in-14-days-for-ml-2025-day-1-52kg</link>
      <guid>https://dev.to/ridwanahmed002/revise-python-in-14-days-for-ml-2025-day-1-52kg</guid>
      <description>&lt;p&gt;Yo, what's good, bros? I'm stoked to kick off my 14-day Python revision challenge for machine learning, and today’s Day 1! I’m going to break down some basic Python concepts in a way that’s super chill and easy to get. We’re talking about basic output, variables, and strings today. Let’s keep it real simple, with clean bullet points and examples, so everyone can vibe with it. Ready? Let’s dive in!&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 1: Python Basics for ML - Let’s Get It! 💪
&lt;/h2&gt;

&lt;p&gt;I’m starting with the fundamentals. These are the building blocks you need before you start slaying those ML models. Here’s what I covered today:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Basic Output with print() 🗣️
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print("hello world", "I am ridwan", sep=" &amp;amp; ", end="?")

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Output: hello world &amp;amp; I am ridwan? &lt;/li&gt;
&lt;li&gt;sep=" &amp;amp; " adds “ &amp;amp; ” between the words.&lt;/li&gt;
&lt;li&gt;end="?" slaps a question mark at the end instead of a new line.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Variables - Your Data’s Home 🏠
&lt;/h3&gt;

&lt;p&gt;Variables are like your backpack—you store stuff in them to use later. Let’s break it down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What’s Inside a Variable?
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var = "rdwan"
print(id(var))  # Outputs a unique ID (memory address) for the   # Memory address
import sys
print(sys.getrefcount(var))  # How many references point to this object
print(sys.getsizeof(var))  # Size of the object in bytes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;id(var) gives you the memory address of var. Think of it as the variable’s home address.&lt;/li&gt;
&lt;li&gt;sys.getrefcount(var) tells you how many things are pointing to it (kinda nerdy, but cool).&lt;/li&gt;
&lt;li&gt;sys.getsizeof(var) shows how much space it takes in memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Fun Fact: Same Object, Same Address:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = 100
y = 100
print(id(x))  # Same address
print(id(y))  # Same address
print(x == y)  # True
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Python’s smart. If x and y are the same small number (like 100), they point to the same object in memory. Saves space&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Invalid Variable Names:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;These won’t work: _name, 1name, name@, var-1&lt;/li&gt;
&lt;li&gt;Good ones: name1, my_var, coolVariable&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Multiple Variables in One Line:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x, y, z = 10, 20, 30
print(x, y, z)  # Output: 10 20 30
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Assign multiple variables at once. Clean and quick.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Strings - Playing with Words ✍️
&lt;/h2&gt;

&lt;p&gt;Strings are just text, like your WhatsApp messages. Python’s got a ton of tricks to mess with ‘em.&lt;/p&gt;

&lt;h4&gt;
  
  
  Input and Type Shenanigans
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = input()  # You type: 10
y = input()  # You type: 20
print(type(x))  # Output: &amp;lt;class 'str'&amp;gt;
print(x + y)  # Output: 1020 (strings get concatenated)
print(int(x) + int(y))  # Output: 30 (convert to numbers first)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;input() always gives you a string, even if you type numbers.&lt;/li&gt;
&lt;li&gt;Want to add numbers? Convert strings to integers with int().&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  String Methods - Your Text Toolkit
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = "hello world"
print(x.upper())  # HELLO WORLD
print(x.lower())  # hello world
print(x.split())  # ['hello', 'world']
print(x.split("l"))  # ['he', '', 'o wor', 'd']
print(x.__len__())  # 11 (length of string)
print(x.count("l"))  # 3 (how many 'l's)
print(x.find("l"))  # 2 (first 'l' at index 2)
print(x.find("ll"))  # 2 (first 'll' at index 2)
print(x.find("l", 10))  # -1 (no 'l' after index 10)
print(x.capitalize())  # Hello world
print(x.title())  # Hello World
print(x.swapcase())  # HELLO WORLD
print(x.isdigit())  # False (not all digits)
print(x.isalpha())  # False (not all letters)
print(x.isalnum())  # False (has a space)
print(x.center(20))  # '    hello world     '
print(x.ljust(20))  # 'hello world         '
print(x.rjust(20))  # '         hello world'
print(x.replace("l", "L"))  # heLLo worLd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;These methods are like filters for your text. Uppercase, lowercase, split it, count stuff, find stuff, align it—whatever you need, Python’s got you.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Day 1 Vibe Check ✅
&lt;/h3&gt;

&lt;p&gt;Today was all about getting comfy with Python’s basics. I’m feeling pumped! Here’s the game plan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Output&lt;/strong&gt;: Printing stuff with print() is your first step to flexing in Python.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Variables&lt;/strong&gt;: They’re your storage units. Know their IDs and sizes for extra nerd points.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strings&lt;/strong&gt;: Text is powerful, and Python’s string methods let you slice and dice it like a pro.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tomorrow, I’m diving deeper—maybe some lists, loops, or conditionals. Stay tuned, bros! If you’re following along, drop a comment on my blog. Let’s learn this ML stuff together! 😎&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro Tip&lt;/strong&gt; Want to try this yourself? Fire up a Python editor (like VS Code or Jupyter Notebook) and mess around with the code snippets above. It’s the best way to lock this stuff in.&lt;/p&gt;

&lt;p&gt;Peace out, and catch ya on Day 2! ✌️&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Become a Part of My ML Journey 2025 : From Bangladesh</title>
      <dc:creator>Ridwan Ahmed Arman</dc:creator>
      <pubDate>Sat, 10 May 2025 16:02:03 +0000</pubDate>
      <link>https://dev.to/ridwanahmed002/become-a-part-of-my-ml-journey-from-bangladesh-2l4o</link>
      <guid>https://dev.to/ridwanahmed002/become-a-part-of-my-ml-journey-from-bangladesh-2l4o</guid>
      <description>&lt;p&gt;I'm not an expert (yet!). I'm a recent graduate figuring things out, just like many of you. By sharing what works and what doesn't, we can learn together and create a resource that addresses our unique challenges.&lt;br&gt;
Whether you're a fellow CSE graduate looking for job preparation tips, someone interested in machine learning, or just curious about tech education in &lt;strong&gt;Bangladesh&lt;/strong&gt; – I invite you to follow along and grow with me.&lt;br&gt;
Let's bridge the gap between our academic education and what the industry actually demands.&lt;/p&gt;

&lt;p&gt;What topic would you like me to cover first? Drop a comment below!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>machinelearning</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
