PyData Careers
20.9K subscribers
205 photos
4 videos
26 files
351 links
Python Data Science jobs, interview tips, and career insights for aspiring professionals.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
🧠 Quiz: Python

Q: Which of the following is the correct way to define an empty list in Python?

A) my_list = ()
B) my_list = []
C) my_list = {}
D) my_list = "None"

Correct answer: B
Explanation: In Python, lists are defined using square brackets []. An empty list is simply []. Parentheses () define a tuple, and curly braces {} define a set or dictionary.

#Python #DataStructures #Lists

---
By: @DataScienceQ
💡 Python Dictionary Cheatsheet: Key Operations

This lesson provides a quick, comprehensive guide to Python dictionaries. Dictionaries are unordered, mutable collections of key-value pairs, essential for mapping data. This cheatsheet covers creation, access, modification, and useful methods.

# 1. Dictionary Creation
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
empty_dict = {}
another_dict = dict(brand="Ford", model="Mustang") # Using keyword arguments
from_tuples = dict([("a", 1), ("b", 2)]) # From a list of key-value tuples
dict_comprehension = {i: i*i for i in range(3)} # {0: 0, 1: 1, 2: 4}

# 2. Accessing Values
name = my_dict["name"] # Alice
age = my_dict.get("age") # 30 (safer, returns None if key not found)
job = my_dict.get("job", "Unemployed") # Unemployed (default value if key not found)

# 3. Adding and Updating Elements
my_dict["email"] = "[email protected]" # Adds new key-value pair
my_dict["age"] = 31 # Updates existing value
my_dict.update({"city": "London", "occupation": "Engineer"}) # Updates/adds multiple pairs

# 4. Removing Elements
removed_age = my_dict.pop("age") # Removes 'age' and returns its value (31)
del my_dict["city"] # Deletes the 'city' key-value pair
# my_dict.popitem() # Removes and returns a (key, value) pair (Python 3.7+ guaranteed last inserted)
my_dict.clear() # Empties the dictionary

# Re-create for further examples
person = {"name": "Bob", "age": 25, "city": "Paris", "occupation": "Artist"}

# 5. Iterating Through Dictionaries
# print("--- Keys ---")
for key in person: # Iterates over keys by default
# print(key)
pass
# print("--- Values ---")
for value in person.values():
# print(value)
pass
# print("--- Items (Key-Value Pairs) ---")
for key, value in person.items():
# print(f"{key}: {value}")
pass

# 6. Dictionary Information
num_items = len(person) # 4
keys_list = list(person.keys()) # ['name', 'age', 'city', 'occupation']
values_list = list(person.values()) # ['Bob', 25, 'Paris', 'Artist']
items_list = list(person.items()) # [('name', 'Bob'), ('age', 25), ...]

# 7. Checking for Key Existence
has_name = "name" in person # True
has_country = "country" in person # False

# 8. Copying Dictionaries
person_copy = person.copy() # Shallow copy
person_deep_copy = dict(person) # Another way for shallow copy

# 9. fromkeys() - Create dictionary from keys with default value
default_value_dict = dict.fromkeys(["a", "b", "c"], 0) # {'a': 0, 'b': 0, 'c': 0}


Code explanation: This script demonstrates essential Python dictionary operations. It covers various ways to create dictionaries, access values using direct key lookup and the safer get() method, and how to add or update key-value pairs. It also shows different methods for removing elements (pop(), del, clear()), and iterating through dictionary keys, values, or items. Finally, it illustrates how to get dictionary size, retrieve lists of keys/values/items, check for key existence, and create copies or new dictionaries using fromkeys().

#Python #Dictionaries #DataStructures #Programming #Cheatsheet

━━━━━━━━━━━━━━━
By: @DataScienceQ
1
💡 Python Lists: Adding and Extending

Use .append() to add a single item to the end of a list. Use .extend() to add all items from an iterable (like another list) to the end.

# Create a list of numbers
my_list = [10, 20, 30]

# Add a single element
my_list.append(40)
# my_list is now [10, 20, 30, 40]
print(f"After append: {my_list}")

# Add elements from another list
another_list = [50, 60]
my_list.extend(another_list)
# my_list is now [10, 20, 30, 40, 50, 60]
print(f"After extend: {my_list}")


Code explanation: The code first initializes a list. .append(40) adds the integer 40 to the end. Then, .extend() takes each item from another_list and adds them individually to the end of my_list.

#Python #PythonLists #DataStructures #CodingTips #PythonCheatsheet

━━━━━━━━━━━━━━━
By: @DataScienceQ
Python Clean Code:

The collections.defaultdict simplifies dictionary creation by providing a default value for keys that have not been set yet, eliminating the need for manual existence checks.

Instead of writing if key not in my_dict: before initializing a value (like a list or a counter), defaultdict handles this logic automatically upon the first access of a missing key. This prevents KeyError and makes grouping and counting code significantly cleaner.

Example👇
>>> from collections import defaultdict
>>>
>>> # Cluttered way with a standard dict
>>> data = [('fruit', 'apple'), ('veg', 'carrot'), ('fruit', 'banana')]
>>> grouped_data = {}
>>> for category, item in data:
... if category not in grouped_data:
... grouped_data[category] = []
... grouped_data[category].append(item)
...
>>> # Clean way with defaultdict
>>> clean_grouped_data = defaultdict(list)
>>> for category, item in data:
... clean_grouped_data[category].append(item)
...
>>> clean_grouped_data
defaultdict(<class 'list'>, {'fruit': ['apple', 'banana'], 'veg': ['carrot']})

#Python #CleanCode #PythonTips #DataStructures #CodeReadability

━━━━━━━━━━━━━━━
By: @DataScienceQ