🔷 Python String Slicing String slicing is used to extract a part of a string. Syntax: 👉 string[start : end] ➡ End index is not included 🔹 1️⃣ Basic Slicing ▶ Example txt = "I have a toy" print(txt[2:6]) ✔ Output: have ➡ Starts from index 2 and ends at 5 🔹 2️⃣ From Beginning (Default Start Index) ▶ Example print(txt[:6]) ✔ Output: I have ➡ Starts from index 0 🔹 3️⃣ Till the End (Default End Index) ▶ Example print(txt[9:]) ✔ Output: toy ➡ Goes till the last character 🔹 4️⃣ Negative Indexing in Slicing Negative indexing starts from the end. ▶ Example print(txt[-2]) ✔ Output: o ➡ Second character from the end 🔹 5️⃣ Slicing with Negative Index ▶ Example print(txt[-10:-4]) ✔ Output: have a ➡ Works from the back of the string 🔹 6️⃣ Another Example ▶ Example value = "welcome" print(value[3:5]) ✔ Output: co 📌 String slicing is very important in Data Analytics and text processing. #Python #StringSlicing #LearningPython #CodingJourney #DataAnalytics
Python String Slicing Techniques
More Relevant Posts
-
Encapsulation In Python: combined single units into multiple units public data protected data private data #publicdata() '''class parent(): publicdata=10 def publicmethod1(self): print(self.publicdata) class child(parent): def publicmethod2(self): print(self.publicdata) obj1=child() obj1.publicmethod1() obj1.publicmethod2() 10 10''' #_protcteddata '''class parent(): _protecteddata=100 def method1(self): print(self._protecteddata) class chiled(parent): def method2(self): print(self._protecteddata) obj1=chiled() obj1.method1() obj1.method2() 100 100''' #__privatedata '''class parent(): __privatedata="lakshmi" def method1(self): print(self.__privatedata) class child(parent): def method2(self): print(self._parent__privatedata) obj1=child() obj1.method1() obj1.method2()''' output: lakshmi lakshmi Pooja Chinthakayala Mam,Saketh Kallepu Sir,Uppugundla Sairam Sir.
To view or add a comment, sign in
-
🚀 Day 5/50 – DSA with Python Challenge Today I focused on Python String Data Structure and practiced many important concepts. 📌 What I learned & practiced today: 🔹 String creation & escape characters Single quotes, double quotes Escape sequences (\n, \\, \') 🔹 String operations Indexing (positive & negative) String comparison (<, >, ==, !=) ASCII values using ord() and chr() 🔹 String formatting % formatting format() method f-strings 🔹 String methods find(), index() startswith(), endswith() split(), join() strip(), lstrip(), rstrip() Membership operator (in) 🔹 Pattern searching in strings Finding all occurrences using find() with loop 🔹 Palindrome checking Using two-pointer technique Using slicing ([::-1]) 🔹 Anagram checking Using sorting method Using character frequency (ASCII count – optimized approach) 🧠 Key takeaway: Understanding strings deeply helps in solving many DSA problems efficiently and builds strong problem-solving fundamentals. 📈 Consistency over motivation — one day at a time. #Day5 #DSAWithPython #PythonProgramming #StringDataStructure #LearningInPublic #50DaysChallenge #ProblemSolving #CodingJourney
To view or add a comment, sign in
-
One-Line Sorting with Custom Lambda Key (Sort Integers by The Number of 1 Bits) 💯 || O(N log N) || Just tackled a fun bit-manipulation and sorting problem on LeetCode (Problem 1356), and I wanted to share a super clean, Pythonic way to solve it! 🐍 🎯 The Problem: Sort an array of integers based on the number of 1s in their binary representation. If two numbers have the same number of 1s, sort them by their decimal value. 💡 The Approach: Instead of writing a complex custom comparator, Python’s built-in sorting handles multi-level conditions beautifully. By passing a list [primary_condition, secondary_condition] to the key argument, Python sorts by the first element and automatically falls back to the second if there's a tie. Here is the one-liner: Python class Solution: def sortByBits(self, arr: List[int]) -> List[int]: return sorted(arr, key=lambda x: [bin(x).count('1'), x]) 📊 Complexity: Time: O(N log N) — Python's Timsort algorithm does the heavy lifting, and counting bits for 32-bit integers takes O(1) time. Space: O(N) — Using sorted() creates a new list. Pro-Tip: If you want to optimize for space, you can swap sorted(arr, ...) for arr.sort(...) to sort the array in-place! What is your favorite Python built-in function or one-liner tip? Let me know in the comments! 👇 #Python #LeetCode #Algorithms #CodingInterviews #SoftwareEngineering #DataStructures
To view or add a comment, sign in
-
🧠 Turn subjective decisions into objective data with this Python AHP script! I just built an interactive tool that implements the Analytic Hierarchy Process (AHP) – complete with creative visualizations. It guides you through pairwise comparisons, calculates priority weights, checks consistency, and displays beautiful plots (heatmap, bar chart, consistency gauge). 🚀 Features: Simple CLI input for criteria and comparisons (accepts fractions like 1/3) Computes weights, λ_max, CI, RI, and CR Visual feedback with matplotlib – understand your judgments at a glance Consistency check with clear warning if CR > 0.1 Perfect for decision-makers, analysts, students, or anyone dealing with multi-criteria decisions. 📥 Want the full code? Just drop your email in the comments below and I’ll send it to you directly! (No spam, just the script.) Let’s make better decisions together. 🙌 #Python #AnalyticHierarchyProcess #DataScience #DecisionMaking #OpenSource #Coding #Analytics
To view or add a comment, sign in
-
🧠 Python Concept That Explains Why += Can Mutate: In-place vs New Objects (__iadd__) Why does this behave differently? 👀 a = [1, 2] b = a a += [3] print(a) # [1, 2, 3] print(b) # [1, 2, 3] But: x = (1, 2) y = x x += (3,) print(x) # (1, 2, 3) print(y) # (1, 2) Same += … different result 🤯 🤔 The Reason: __iadd__ Python tries: 1️⃣ __iadd__ (in-place add) 2️⃣ else → __add__ (new object) 🧪 Lists implement __iadd__ list.__iadd__(self, other) So list is modified in place. 🧪 Tuples don’t So Python creates a new tuple. 🧒 Simple Explanation List = clay 🧱 You reshape same clay. Tuple = brick 🧱 You must make new brick. 💡 Why This Matters ✔ Mutability understanding ✔ Side-effects bugs ✔ Performance ✔ Data structures ✔ Interview classic ⚡ Key Insight id(a) == id(a += ...) True for mutable types False for immutable types 💻 In Python, += doesn’t always mean “new value”. 🐍 Sometimes it means “modify in place” 🐍 The difference comes from __iadd__. #Python #PythonTips #PythonTricks #AdvancedPython #CleanCode #LearnPython #Programming #DeveloperLife #DailyCoding #100DaysOfCode
To view or add a comment, sign in
-
-
Day 17 – Strings, Lists & Practical Logic Building in Python Today’s session was a mix of real-world logic building and deeper practice with strings and lists in Python. I started with a simple electricity bill calculation program using conditional statements. It helped me understand how tier-based logic works in real-life scenarios and how to structure conditions properly using if-elif-else. Strings – More Practice Revised and practiced important string methods: upper() and lower() for case conversion isupper() and islower() for validation capitalize() vs title() replace() with control over number of replacements This reinforced how strings are immutable and how every operation returns a new modified string. Lists – Slicing & Methods in Depth Worked extensively on list operations and understood the difference between modifying and non-modifying methods. Slicing Practice: Normal slicing Step slicing Reverse slicing Skipping elements using step values List Methods Explored: append() → add single element extend() → add multiple elements from iterable insert() → add element at specific index remove() → remove first occurrence pop() → remove by index (returns removed value) clear() → empty the list index() → find position of element sort() → modifies original list sorted() → returns new sorted list reverse() → reverse list order join() → join list elements into a string I also observed: How insert() behaves with negative and out-of-range indexes Difference between sort() and sorted() How extend() works differently with list, tuple, and set Key Takeaways Understanding method behavior is more important than just memorizing syntax Some methods modify the original list, others return new values Real learning happens when testing edge cases Logic building is improving step by step Day 17 was more about strengthening fundamentals and building clarity in how Python handles data structures. #Python #PythonLists #PythonStrings #ProgrammingBasics #DataStructures #CodingPractice #DailyLearning #ProblemSolving #LearnToCode #SoftwareDevelopment
To view or add a comment, sign in
-
Day 9: Mastering Type Casting in Python 🐍 Today I explored how Python handles type conversions, and it's more powerful than I initially thought! Type casting lets us convert data from one type to another, which is essential when working with user inputs, APIs, or databases. Key takeaways: Implicit vs Explicit Casting: Python automatically converts some types (like int to float), but we often need to explicitly cast data using functions like int(), str(), float(), and bool(). Real-world scenario: Converting user input (always a string) into integers for calculations, or formatting numbers as strings for display. Common pitfalls I learned to avoid: Not every string can be cast to an integer, and float to int conversion truncates decimals rather than rounding. Code snippet from today: python # User age input age = int(input("Enter your age: ")) # Converting for display price = 49.99 print(f"Price: ${str(price)}") # List to string items = ['apple', 'banana', 'cherry'] print(', '.join(items)) The journey continues! Each day brings new understanding of how Python handles data behind the scenes. #Python #FullStackDevelopment #CodingJourney #100DaysOfCode #LearningToCode #WebDevelopment
To view or add a comment, sign in
-
-
🧠 Python Feature That Makes Type Checking Smarter: typing.Protocol Duck typing… but official 🦆✨ 🤔 The Problem 💻 Python is dynamically typed. 💻 But sometimes you want structure without inheritance. ❌ Traditional Way class Bird: def fly(self): ... def start_flying(bird: Bird): bird.fly() This forces inheritance. ✅ Pythonic Way with Protocol from typing import Protocol class Flyable(Protocol): def fly(self) -> None: ... def start_flying(obj: Flyable): obj.fly() 💫 Now ANY object with fly() works. 💫 No inheritance required 🎯 🧒 Simple Explanation 🦆 If it quacks like a duck and walks like a duck… 🦆 it doesn’t need to be a Duck class. 🦆 That’s Protocol. 💡 Why This Is Powerful ✔ Structural typing ✔ Cleaner architecture ✔ Better static analysis ✔ Used heavily in modern Python frameworks ⚡ Real Example class Drone: def fly(self): print("Flying") start_flying(Drone()) # Works! 🐍 Python believes in behavior, not hierarchy 🐍 typing.Protocol makes duck typing formal and powerful. #Python #PythonTips #PythonTricks #AdvancedPython #CleanCode #LearnPython #Programming #DeveloperLife #DailyCoding #100DaysOfCode
To view or add a comment, sign in
-
-
𝐍𝐮𝐦𝐏𝐲 𝐁𝐨𝐨𝐥𝐞𝐚𝐧 𝐓𝐫𝐚𝐩 I’m still at the very beginning of my Python journey. But even with my tiny amount of experience, I already hit a subtle NumPy trap that can easily sneak into real code. Python is full of surprises — even at the very beginning It happens when you create an untyped NumPy array and fill it with a function that should return booleans… …but sometimes returns 𝙉𝙤𝙣𝙚 when processing fails. At first, you expect a clean boolean array — because the function normally returns 𝙏𝙧𝙪𝙚 or 𝙁𝙖𝙡𝙨𝙚. But NumPy has other plans. Here’s the trap 👇 🟥 𝟏) 𝐔𝐧𝐭𝐲𝐩𝐞𝐝 𝐚𝐫𝐫𝐚𝐲 + 𝐚 𝐟𝐮𝐧𝐜𝐭𝐢𝐨𝐧 𝐭𝐡𝐚𝐭 “𝐬𝐡𝐨𝐮𝐥𝐝” 𝐫𝐞𝐭𝐮𝐫𝐧 𝐛𝐨𝐨𝐥𝐞𝐚𝐧𝐬 𝒂𝒓𝒓 = 𝒏𝒑.𝒆𝒎𝒑𝒕𝒚(10) # 𝒏𝒐 𝒅𝒕𝒚𝒑𝒆 𝒂𝒓𝒓[𝒊] = 𝒎𝒚_𝒇𝒖𝒏𝒄() # 𝑻𝒓𝒖𝒆 / 𝑭𝒂𝒍𝒔𝒆 ... 𝒐𝒓 𝑵𝒐𝒏𝒆 You expect a clean boolean array because the function usually returns 𝙏𝙧𝙪𝙚/𝙁𝙖𝙡𝙨𝙚. But if even one value is 𝙉𝙤𝙣𝙚, NumPy must pick a type that can hold all values. 🟦 𝟐) 𝐍𝐮𝐦𝐏𝐲 𝐬𝐢𝐥𝐞𝐧𝐭𝐥𝐲 𝐬𝐰𝐢𝐭𝐜𝐡𝐞𝐬 𝐭𝐨 𝐝𝐭𝐲𝐩𝐞=𝐨𝐛𝐣𝐞𝐜𝐭 𝒂𝒓𝒓𝒂𝒚([𝑻𝒓𝒖𝒆, 𝑭𝒂𝒍𝒔𝒆, 𝑵𝒐𝒏𝒆, ...], 𝒅𝒕𝒚𝒑𝒆=𝒐𝒃𝒋𝒆𝒄𝒕) Impact: no vectorization logical operations break masks behave unpredictably performance collapses You think you have a NumPy boolean array. You actually have a Python object array. 🟩 𝟑) 𝐓𝐡𝐞 𝐬𝐢𝐥𝐞𝐧𝐭 𝐜𝐨𝐧𝐯𝐞𝐫𝐬𝐢𝐨𝐧 𝐭𝐫𝐚𝐩 Trying to fix it: 𝒂𝒓𝒓 = 𝒏𝒑.𝒆𝒎𝒑𝒕𝒚(10, 𝒅𝒕𝒚𝒑𝒆=𝒃𝒐𝒐𝒍) 𝒂𝒓𝒓[𝒊] = 𝒎𝒚_𝒇𝒖𝒏𝒄() NumPy converts: 𝑵𝒐𝒏𝒆 → 𝑭𝒂𝒍𝒔𝒆 (silently) Impact: 👉you lose the meaning of “no result” 👉your data becomes wrong 👉the bug becomes invisible ⭐ 𝐓𝐚𝐤𝐞𝐚𝐰𝐚𝐲 Same code. Same function. Two completely different arrays. NumPy’s dtype inference can hide subtle bugs — and I found this one with almost no Python experience. 𝐂𝐮𝐫𝐢𝐨𝐮𝐬 𝐭𝐨 𝐤𝐧𝐨𝐰: 👉 Have you ever run into this behavior? 👉 Or another NumPy dtype surprise? #python #numpy #datascience #cleanCode #devTips #programming
To view or add a comment, sign in
-
-
Confession: I used to write terrible Python. Jupyter notebooks with cells numbered out of order. No type hints. Global variables everywhere. Functions called "process_data_v2_final_FINAL." Sound familiar? The turning point was when I had to hand off a project to another engineer. They stared at my code for two days and said, "I genuinely can't figure out what this does." I was mortified. Since then I've become almost religious about production-grade Python: type hints with mypy, Pydantic for validation, FastAPI for serving, async where it matters, proper package management with uv. The difference between a data scientist and an ML engineer isn't what models they know. It's whether another human can read, run, and maintain their code six months later. If your code only works when you run it in the exact right order in your specific notebook — that's not engineering. That's a magic trick. Write code like someone else will maintain it. Because they will. #Python #SoftwareEngineering #FastAPI #MachineLearning #CleanCode #Coding
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development