contact@hintstoday.com  |  (123)-456-7890

Python Dictionary in detail- Wholesome Tutorial on Dictionaries

by lochan2014 | Feb 1, 2025 | Python | 0 comments

Useful and handy code snippets using dictionary

Here are some handy and practical Python code snippets using dictionaries, focusing on automation, data processing, and general-purpose tasks:


1. Dictionary for Dynamic Configuration

config = {
    "database": "my_database",
    "host": "localhost",
    "port": 5432,
    "user": "admin",
    "password": "password123"
}

# Use configuration
connection_string = "dbname={database} host={host} port={port} user={user} password={password}".format(**config)
print("Connection String:", connection_string)

2. Mapping Keys Dynamically

data = {"id": 1, "name": "John", "age": 30}
key_mapping = {"name": "full_name", "age": "years_old"}

mapped_data = {key_mapping.get(k, k): v for k, v in data.items()}
print("Mapped Data:", mapped_data)

3. Summing Values by Group

transactions = [
    {"category": "food", "amount": 50},
    {"category": "entertainment", "amount": 100},
    {"category": "food", "amount": 30},
    {"category": "utilities", "amount": 70},
]

category_totals = {}
for txn in transactions:
    category_totals[txn["category"]] = category_totals.get(txn["category"], 0) + txn["amount"]

print("Category Totals:", category_totals)

4. Nested Dictionary Creation

data = [
    {"region": "North", "state": "NY", "sales": 100},
    {"region": "North", "state": "NJ", "sales": 200},
    {"region": "South", "state": "FL", "sales": 150},
]

nested_dict = {}
for item in data:
    region = item["region"]
    state = item["state"]
    sales = item["sales"]
    nested_dict.setdefault(region, {})[state] = sales

print("Nested Dictionary:", nested_dict)

5. Counting Occurrences Using a Dictionary

words = ["apple", "banana", "apple", "orange", "banana", "apple"]

word_count = {}
for word in words:
    word_count[word] = word_count.get(word, 0) + 1

print("Word Count:", word_count)

6. Updating Dictionary Based on Conditions

employees = {
    "John": {"department": "HR", "salary": 50000},
    "Alice": {"department": "IT", "salary": 60000},
}

# Increase salary for IT employees
for name, info in employees.items():
    if info["department"] == "IT":
        info["salary"] += 5000

print("Updated Employees:", employees)

7. Merging Two Dictionaries

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}

merged_dict = {**dict1, **dict2}  # Overwrites `b` with 3
print("Merged Dictionary:", merged_dict)

8. Reverse Dictionary Lookup

lookup = {"a": 1, "b": 2, "c": 3}
reversed_lookup = {v: k for k, v in lookup.items()}
print("Reversed Lookup:", reversed_lookup)

9. Flattening a Nested Dictionary

pythonCopy codenested_dict = {"a": {"b": {"c": 1}, "d": 2}, "e": 3}

def flatten_dict(d, parent_key="", sep="."):
    items = []
    for k, v in d.items():
        new_key = f"{parent_key}{sep}{k}" if parent_key else k
        if isinstance(v, dict):
            items.extend(flatten_dict(v, new_key, sep=sep).items())
        else:
            items.append((new_key, v))
    return dict(items)

flat_dict = flatten_dict(nested_dict)
print("Flattened Dictionary:", flat_dict)

10. Using a Dictionary for Function Dispatch

pythonCopy codedef add(a, b):
    return a + b

def subtract(a, b):
    return a - b

def multiply(a, b):
    return a * b

def divide(a, b):
    return a / b if b != 0 else "Division by zero"

operations = {
    "add": add,
    "subtract": subtract,
    "multiply": multiply,
    "divide": divide
}

operation = "multiply"
result = operations[operation](10, 5)
print(f"Result of {operation}:", result)

11. Grouping Items Using a Dictionary

students = [
    {"name": "Alice", "grade": "A"},
    {"name": "Bob", "grade": "B"},
    {"name": "Charlie", "grade": "A"},
    {"name": "David", "grade": "C"},
]

grouped = {}
for student in students:
    grouped.setdefault(student["grade"], []).append(student["name"])

print("Grouped Students:", grouped)

12. Dictionary for Dynamic Query Building

filters = {"status": "active", "category": "IT"}

query = "SELECT * FROM employees WHERE " + " AND ".join(f"{k} = '{v}'" for k, v in filters.items())
print("Generated Query:", query)

13. Dictionary for Default Values

from collections import defaultdict

default_dict = defaultdict(int)
default_dict["a"] += 1
default_dict["b"] += 2
print("Default Dictionary:", dict(default_dict))

14.Dynamic DataFrame Transformations

Apply transformations dynamically based on conditions:

transformations = {
    "uppercase": lambda col: F.upper(F.col(col)),
    "add_prefix": lambda col: F.concat(F.lit("prefix_"), F.col(col)),
}

transformation = "uppercase"
column = "name"

df = df.withColumn(column, transformations[transformation](column))
df.show()

Written By

undefined

Related Posts

Python Programming Language Specials

Python is a popular high-level, interpreted programming language known for its readability and ease of use. Python was invented by Guido Van Rossum and it was first released in February, 1991. The name python is inspired from Monte Python Flying Circus,…

Read More

Submit a Comment

Your email address will not be published. Required fields are marked *