Understanding Python Tuples and Sets (From a DevOps Perspective)
As a DevOps engineer, we deal with automation, configuration management, and scripting almost every day. Python is one of the most commonly used languages in our field, so understanding its data structures is very important.
In this article, I’ll explain Tuples and Sets in a simple and practical way.

🔹 What is a Tuple?
A tuple is a data structure in Python, similar to a list.
The main difference is in the syntax:
- List → uses square brackets
[] - Tuple → uses parentheses
()
Example:
tuple_of_days = ("mon", "tue", "wed", "thur", "fri", "sat", "sun")
list_of_days = ["mon", "tue", "wed", "thur", "fri", "sat", "sun"]print(tuple_of_days[1])
print(list_of_days[1])
Output:
tue
tueAt first glance, both behave the same. But the real difference comes when we try to modify them.
🔹 Tuple vs List (Key Difference)
Let’s try updating values:
tuple_of_days[1] = "tuesday"
list_of_days[1] = "tuesday"Result:
- ❌ Tuple → Error: ‘tuple’ object does not support item assignment
- ✅ List → Works perfectly
If you comment the tuple line:
# tuple_of_days[1] = "tuesday"Then the code will run fine.
🔹 Important Concept
- Tuple = Immutable (cannot change)
- List = Mutable (can change)
This is one of the most common interview questions.
🔹 Why Tuple is Immutable?
When a tuple is stored in memory, Python optimizes it internally (using hashing mechanisms).
Benefits of Tuple:
- Faster than lists
- Uses less memory
- Safe (data cannot be modified accidentally)
👉 In DevOps, this is useful when you want fixed configuration values.
🔹 Where Do We Use Tuples?
Use tuples when values should not change:
- Days of the week
- Months of the year
- Company constants
- Fixed configuration values
🔹 Introduction to Sets
Now let’s talk about another powerful data structure: Set
A set is inspired by mathematics (like union, intersection).
Syntax:
set_of_num = {1, 2, 3}⚠️ Important Interview Trick:
set_of_num = {} # This is NOT a set, it's a dictionary
set_of_num = {None} # This is a setCheck type:
print(type(set_of_num))🔹 Key Feature of Sets
1. No Duplicate Values
set_of_num = {1, 1, 2, 2, 3, 5, 6}
print(set_of_num)Output:
{1, 2, 3, 5, 6}👉 Sets automatically remove duplicates.
2. Unordered Collection
Sets do not guarantee order (important correction from common misconception).
🔹 Task 1: Find Common Values (Intersection)
set_1 = {1, 1, 1, 2, 2, 3, 4, 45, 34}
set_2 = {1, 1, 45, 6, 6, 7, 7, 8, 4, 3, 3}print(set_1.intersection(set_2))
Output:
{1, 3, 4, 45}👉 This gives common elements between both sets.
🔹 Task 2: Merge Sets (Union)
print(set_1.union(set_2))👉 This combines both sets and removes duplicates.
🔹 Real DevOps Use Case
Let’s say you are working with environments:
list_of_envs = ["dev", "stg", "prd", "tst", "qa", "qa", "dev"]print(list_of_envs)
Output:
['dev', 'stg', 'prd', 'tst', 'qa', 'qa', 'dev']Now remove duplicates using a set:
list_of_envs = list(set(list_of_envs))
print(list_of_envs)Output:
['dev', 'stg', 'prd', 'tst', 'qa']🔹 Why This Matters in DevOps?
Before:
- Loop runs 7 times
After removing duplicates:
- Loop runs 5 times
👉 This improves performance in:
- Automation scripts
- CI/CD pipelines
- Infrastructure provisioning
🔹 Final Thoughts
- Use List when data can change
- Use Tuple when data must stay constant
- Use Set when you need unique values
Understanding these small concepts can make your DevOps scripts cleaner, faster, and more efficient.
🌐 Online References
- LinkedIn: https://www.linkedin.com/in/raees-yaqoob-qazi-ryqs/
- Medium Blog: https://medium.com/@raeesyaqubqazi
- Blogspot: https://brillertechnologies.blogspot.com/
- Facebook Page: https://web.facebook.com/profile.php?id=61553548371216
- YouTube Channel: https://www.youtube.com/@RaeesQ.
- TikTok: https://www.tiktok.com/@mrryqs?_t=ZS-8y7t0fQfJKu&_r=1
Comments
Post a Comment