الدرس 8 من 56 · هياكل البيانات

التقطيع والتوليد السريع comprehension

تقطيع القائمة [بداية:نهاية:خطوة]:

a = [0, 1, 2, 3, 4, 5]
print(a[1:4])   # [1, 2, 3]
print(a[:3])    # [0, 1, 2]
print(a[::2])   # [0, 2, 4]
print(a[::-1])  # معكوسة

التوليد السريع يبني قائمة بسطر واحد — أداة احترافية:

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

evens = [x for x in range(10) if x % 2 == 0]
print(evens)     # [0, 2, 4, 6, 8]

اختبار سريع للدرس

جاوب على كل الأسئلة — لازم كلها صح. إذا غلطت بيطلع صندوق ذهبي يفهّمك وش الخطأ. مو عيب تغلط، كل مبرمج بالعالم غلط وأخذ منها درس.

1. وش نتيجة [1,2,3,4,5][1:3]؟
2. وش يعمل [::-1]؟
3. وش يطبع [x*2 for x in [1,2]]؟
الدرس 7 الدرس 9 — القاموس dict — مفاتيح وقيم
FeLiXFeLiX AI — مساعد المنصتين