الدرس 7 من 10
المجموعات (Collections)
في الواقع بتتعامل مع مجموعات، مش قيمة واحدة.
قائمة مشتريات، دليل تليفونات، زوار موقع... بايثون عندها ٤ أنواع أساسية لتخزين المجموعات. قارن بينهم بسرعة هنا:
["milk", "eggs", "milk"]
✓ مرتبة✓ تتعدل✓ تقبل تكرار
استخدمها إمتى: لما يكون عندك عناصر ترتيبها مهم وهتضيف وتشيل منها: عربية مشتريات، قائمة مهام، درجات طلاب.
🤖 لما توصل NumPy هتلاقي الـ array شبهها جداً بس أسرع بكتير.
List: قائمة مرتبة وتتعدل
cart = ["milk", "bread", "eggs"] cart.append("cheese") # add to the end cart.remove("bread") # remove by value cart[0] = "oat milk" # change by index print(cart) print(len(cart), "items") print("eggs" in cart)
Dictionary: مفتاح وقيمة
زي القاموس: تدور بالكلمة (المفتاح) تلاقي معناها (القيمة). ده أكتر نوع هتستخدمه في الـ AI، لأن البيانات اللي جاية من الـ APIs بتبقى بالشكل ده واسمها JSON.
order = {
"id": 1024,
"customer": "Sara",
"items": ["pizza", "cola"],
"paid": False,
}
print(order["customer"]) # access by key
order["paid"] = True # update a value
order["driver"] = "Mahmoud" # add a new key
for key, value in order.items():
print(f"{key}: {value}")Tuple و Set
# Tuple: like a list but CAN'T be changed cairo_location = (30.0444, 31.2357) # Set: no duplicates, no order visitors = ["ali", "sara", "ali", "omar", "sara"] unique_visitors = set(visitors) print(len(unique_visitors), "unique visitors")
⚠ index مش موجود = خطألو طلبت index مش موجود في list هيطلع
IndexError، ولو key مش موجود في dict هيطلع KeyError. استخدم order.get("key") عشان ترجعلك None بدل الخطأ.