برمجة

بنى البيانات: list وtuple وdict وset

القوائم والصفوف والقواميس والمجموعات والمتتاليات.

كل الدروس · دروس بايثون: تعلّم من الصفر

القائمة (list)

القائمة مجموعة مرتّبة وقابلة للتعديل. تبدأ الفهارس من 0 والفهرس السالب يعدّ من النهاية. والمقطع a[1:4] يأخذ جزءًا منها.

tasks = ["read", "code", "walk"]
tasks.append("sleep")
tasks.insert(0, "wake")
tasks.remove("walk")
print(tasks)          # ['wake', 'read', 'code', 'sleep']
print(tasks[-1], tasks[1:3])
print(sorted([5, 2, 9]), len(tasks))

الاشتمال القائمي صيغة مختصرة: [x * x for x in range(5) if x % 2 == 0].

squares = [n * n for n in range(1, 6)]
print(squares)   # [1, 4, 9, 16, 25]

الصف (tuple) والقاموس (dict)

الصف مجموعة مرتّبة لا تتغير، وهي مناسبة للبيانات الثابتة كالإحداثيات. أما القاموس فيخزّن أزواج مفتاح–قيمة ويجد القيمة بالمفتاح بسرعة كبيرة.

point = (40.4, 49.8)
lat, lon = point               # unpacking

phone = {"Ali": "055-111", "Nigar": "050-222"}
phone["Orkhan"] = "070-333"
print(phone.get("Zaur", "unknown"))
for name, num in phone.items():
    print(name, num)

المجموعة (set) واختيار البنية

المجموعة تضم عناصر غير مكررة وهي مثالية لإيجاد العناصر المشتركة أو المختلفة: & التقاطع و| الاتحاد و- الفرق.

a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a & b, a | b, a - b)
print(list({"x", "y", "x"}))   # duplicates vanish
  • إذا كان الترتيب والتكرار مهمين: list.
  • مجموعة ثابتة: tuple.
  • البحث بالمفتاح: dict.
  • التفرّد وعمليات المجموعات: set.

المؤلف: Nibras Code