cb
codebamin
الفصل 6 · القوائم (Lists)

مقدمة إلى القوائم (Lists)

حان وقت التعرف على نوع قوي جديد من القيم يسمى القوائم (Lists). إليك مثالًا:

__program_indented__

القائمة هي تسلسل، أي مجموعة مرتبة يمكن أن تحتوي على أي عدد من القيم. وتسمى القيم الموجودة داخلها غالبًا عناصر (Elements).

يمكن أن تكون العناصر أي شيء: أعدادًا، نصوصًا، قيمًا منطقية، وحتى قوائم أخرى. ويمكن أيضًا أن تجمع القائمة عناصر من أنواع مختلفة.

لإنشاء قائمة مباشرة كما في المثال السابق:

  1. اكتب قوسين مربعين: [].
  2. إذا لم تكن تريد قائمة فارغة، فاكتب التعبيرات التي ستكون عناصر داخل القوسين.
  3. ضع فاصلة , بين العناصر للفصل بينها.

إليك مثالًا آخر لإنشاء قائمة:

__program_indented__

كما رأيت، القوائم قابلة للتكرار عليها (Iterable)، أي يمكنك المرور على عناصرها باستخدام حلقة for. إليك برنامجًا يجمع كل الأعداد الموجودة داخل قائمة:

__program_indented__

عدّل البرنامج الآن بحيث يستطيع جمع قائمة من النصوص بدلًا من الأعداد. مثلًا، إذا كانت:

__no_auto_translate__ words = ['This', 'is', 'a', 'list']

فيجب أن يطبع:

__no_auto_translate__ Thisisalist

ممتاز!

يمكنك المتابعة إلى الدرس التالي الآن إذا أردت.

أما التحدي الإضافي الاختياري فهو توسيع البرنامج بحيث يضع نصًا فاصلًا بين كل كلمتين. فإذا كانت القيم:

__no_auto_translate__ words = ['This', 'is', 'a', 'list'] separator = ' - '

فيجب أن يكون الناتج:

__no_auto_translate__ This - is - a - list

تهانينا! كان هذا التمرين صعبًا فعلًا. أحد الحلول الممكنة:

__no_auto_translate__ words = ['This', 'is', 'a', 'list'] separator = ' - ' total = '' not_first = False

for word in words: if not_first: total += separator total += word not_first = True

print(total)

solution.py
1
2
3
4
5
6
7
8
9
10
الطرفية (shell)
>>>