Learn Python Language

[!TIP] Welcome to Learn Python Language Read, Practice, Code!

This repository is part of My Python learning journey, created to help beginners understand Python from the ground up. Whether you’re just starting or revising core concepts, this repo is packed with helpful examples, exercises, and mini-projects.
🧠 Inspired by continuous practice and real-world application.
What You’ll Learn
Sr. | Topic | Link |
0 | Python Setup & Installation | View |
1 | Introduction to Python | View |
2 | Operators in Python | View |
3 | Variables & Data Types | View |
4 | String in Python | View |
5 | Lists in Python | View |
6 | Tuples in Python | View |
7 | Set in Python | View |
8 | Dictionary in Python | View |
9 | Conditional Statements in Python | View |
10 | Loops in Python | View |
11 | Function in Python | View |
12 | Recursion in Python | View |
13 | File Input and Output (I/O) in Python | View |
14 | OOPS in Python | View |
15 | Inprotant Questions | View |
16 | Conditional Statements & Loops Questions | View |
17 | Interview Questions | View |
18 | Project | View |
19 | Setup VSCode | View |
20 | How to Contribute | View |
📘 DSA Practice Sheets in Python
Data Structures and Algorithms (DSA) using Python. Ideal for beginners, and self-taught developers preparing for coding interviews.
Levels Overview
- 🟢 Beginner
- 🟡 Intermediate
- 🔴 Advanced
🟢 Beginner Level
🔹 Arrays & Strings
- Reverse an array
- Find the maximum/minimum element
- Remove duplicates from a list
- Rotate array by k positions
- Check if a string is a palindrome
- Count vowels and consonants
- Implement Python’s
split()
manually
🔹 Basic Math
- Prime number check
- GCD and LCM of two numbers
- Factorial using recursion
- Fibonacci series
- Palindromic number check
🔹 Searching & Sorting
- Linear search
- Binary search
- Bubble sort
- Selection sort
- Insertion sort
🔹 Linked Lists
- Reverse a linked list
- Detect a cycle in a linked list
- Merge two sorted linked lists
- Find middle of linked list
🔹 Stack & Queue
- Implement stack using list or deque
- Valid parentheses (LeetCode #20)
- Implement queue using two stacks
- Next Greater Element (LeetCode #496)
🔹 Hashing & Dictionary
- Two Sum problem (LeetCode #1)
- Group anagrams (LeetCode #49)
- Longest substring without repeating characters
🔹 Recursion & Backtracking
- Generate all subsets of a list
- Permutations of a list
- Sudoku solver
- N-Queens problem
🔴 Advanced Level
🔹 Trees & Binary Trees
- Inorder, Preorder, Postorder traversal
- Check if a tree is balanced
- Lowest common ancestor
- Serialize and deserialize a tree
🔹 Heaps & Priority Queues
- Kth largest element (LeetCode #215)
- Merge k sorted arrays
- Top K frequent elements
🔹 Graphs
- BFS and DFS traversal
- Detect cycle in a graph
- Dijkstra’s algorithm
- Topological sorting
🔹 Dynamic Programming
- 0/1 Knapsack
- Longest Common Subsequence
- Longest Increasing Subsequence
- Coin Change problem
📄 Curated Practice Sheets (External)
Sheet | Type | Link |
Striver’s SDE Sheet | Interview-focused | takeuforward.org |
Love Babbar’s 450 DSA Sheet | Comprehensive | 450dsa.com |
Fraz’s 200 DSA Sheet | LeetCode focused | GitHub |
LeetCode Top 100 | Must-do | LeetCode |
GFG DSA Sheet | Topic-wise | GFG |
Contributing
If you are interested in writing code to fix issues, please see How to Contribute in the doc.
⭐ If you find this project useful, please give it a star! ⭐ **Built with ❤️ by Dhrubaraj Pati for developers** [Website](https://codewithdhruba.netlify.app/) • [GitHub](https://github.com/codewithdhruba01) • [Twitter](https://x.com/codewithdhruba) • [Linkedin](https://www.linkedin.com/in/dhrubaraj-pati/)