البرنامج التعليمي لقائمة بايثون الفارغة - كيفية إنشاء قائمة فارغة في بايثون

إذا كنت تريد معرفة كيفية إنشاء قائمة فارغة في Python بكفاءة ، فهذه المقالة مناسبة لك.

سوف تتعلم:

  • كيفية إنشاء قائمة فارغة باستخدام الأقواس المربعة [].
  • كيفية إنشاء قائمة فارغة باستخدام list().
  • حالات استخدامها.
  • ما مدى فعاليتها (أحدهما أسرع من الآخر!). سوف نستخدم timeitالوحدة لمقارنتها.

هيا نبدأ! ✨

? استخدام الأقواس المربعة

يمكنك إنشاء قائمة فارغة بزوج فارغ من الأقواس المربعة ، على النحو التالي:  

? نصيحة: نقوم بتعيين القائمة الفارغة لمتغير لاستخدامها لاحقًا في برنامجنا.

فمثلا:

num = []

سيكون طول القائمة الفارغة 0، كما ترى هنا:

>>> num = [] >>> len(num) 0

القوائم الفارغة هي قيم خاطئة ، مما يعني أنها يتم تقييمها Falseفي سياق منطقي:

>>> num = [] >>> bool(num) False

أضف عناصر إلى قائمة فارغة

يمكنك إضافة عناصر إلى قائمة فارغة باستخدام الطرق append()و insert():

  • append() يضيف العنصر إلى نهاية القائمة.
  • insert() يضيف العنصر في فهرس معين من القائمة التي تختارها.

نظرًا لأن القوائم يمكن أن تكون قيمًا صحيحة أو خاطئة اعتمادًا على ما إذا كانت فارغة أم لا عند تقييمها ، يمكنك استخدامها في شروط مثل هذا:

if num: print("This list is not empty") else: print("This list is empty")

ناتج هذا الكود هو:

This list is empty

لأن القائمة كانت فارغة ، يتم تقييمها إلى False.

بشكل عام:

  • إذا لم تكن القائمة فارغة ، يتم تقييمها إلى True، لذلك يتم تنفيذ جملة if.
  • إذا كانت القائمة فارغة ، يتم تقييمها إلى False، لذلك يتم تنفيذ جملة else.

مثال:

في المثال أدناه ، نقوم بإنشاء قائمة فارغة وإسنادها إلى المتغير num. بعد ذلك ، باستخدام حلقة for ، نضيف سلسلة من العناصر (أعداد صحيحة) إلى القائمة التي كانت فارغة في البداية:

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

نتحقق من قيمة المتغير لمعرفة ما إذا تم إلحاق العناصر بنجاح وتأكيد أن القائمة لم تعد فارغة:  

>>> num [3, 5, 7, 9, 11, 13]

? نصيحة: نستخدم عادةً append()لإضافة العنصر الأول إلى قائمة فارغة ، ولكن يمكنك أيضًا إضافة هذا العنصر باستدعاء insert()الطريقة بالفهرس 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

? استخدام قائمة () المُنشئ

بدلاً من ذلك ، يمكنك إنشاء قائمة فارغة باستخدام مُنشئ النوع list()، مما يؤدي إلى إنشاء كائن قائمة جديد.

وفقًا لتوثيق بايثون:

إذا لم يتم تقديم وسيطة ، يقوم المنشئ بإنشاء قائمة فارغة جديدة ، [].

? نصيحة: يؤدي هذا إلى إنشاء كائن قائمة جديد في الذاكرة وبما أننا لم نمرر أي وسيطات إليه list()، فسيتم إنشاء قائمة فارغة.

فمثلا:

num = list()

ستكون هذه القائمة الفارغة بطول 0، كما ترى هنا:

>>> num = list() >>> len(num) 0

وهي قيمة خاطئة عندما تكون فارغة (يتم تقييمها Falseفي سياق منطقي):

>>> num = list() >>> bool(num) False

مثال:

هذه قائمة كاملة الوظائف ، لذا يمكننا إضافة عناصر إليها:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

وستكون النتيجة قائمة غير فارغة ، كما ترى هنا:

>>> num [3, 5, 7, 9, 11, 13]

? وقائع الاستخدام

  • نستخدم عادةً list()لإنشاء قوائم من العناصر التكرارية الموجودة مثل السلاسل أو القواميس أو المجموعات.
  • سترى بشكل عام []استخدام الأقواس المربعة لإنشاء قوائم فارغة في لغة بايثون لأن بناء الجملة هذا أكثر إيجازًا وأسرع.

? الكفاءة

انتظر! لقد أخبرتك للتو أن []أسرع من list()...

لكن كم أسرع؟

دعونا الاختيار الكفاءة وقتهم باستخدام timeit حدة.

لاستخدام هذه الوحدة في برنامج Python ، تحتاج إلى استيرادها:

>>> import timeit

على وجه التحديد ، سوف نستخدم وظيفة timeit من هذه الوحدة ، والتي يمكنك استدعاءها باستخدام بناء الجملة التالي:

? نصيحة: يتم تكرار الكود عدة مرات لتقليل الفوارق الزمنية التي قد تنشأ عن عوامل خارجية مثل العمليات الأخرى التي قد تكون قيد التشغيل في تلك اللحظة بالذات. هذا يجعل النتائج أكثر موثوقية لأغراض المقارنة.

? على علاماتك ... استعد ... جاهز! ها هو الكود والمخرج:

أولاً ، نقوم باستيراد الوحدة.

>>> import timeit

بعد ذلك ، نبدأ في اختبار كل بناء جملة.

الاختبار []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

الاختبار list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

? نصيحة: لاحظ أن الكود الذي تريده يجب أن يكون محاطًا بعلامات اقتباس مفردة ''أو علامات اقتباس مزدوجة "". timeitيتم التعبير عن الوقت الذي تم إرجاعه بواسطة الوظيفة بالثواني.

قارن هذه النتائج:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

يمكنك أن ترى أن []أسرع بكثير من list(). كان هناك اختلاف في 0.002الثواني تقريبًا في هذا الاختبار:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

أنا متأكد من أنك يجب أن تسأل هذا الآن: لماذا يكون list()أقل كفاءة مما []لو كانوا يفعلون نفس الشيء بالضبط؟

حسنًا ... list()أبطأ لأنه يتطلب البحث عن اسم الوظيفة ، واستدعائها ، ثم إنشاء كائن القائمة في الذاكرة. في المقابل ، []يشبه "الاختصار" الذي لا يتطلب الكثير من الخطوات الوسيطة لإنشاء القائمة في الذاكرة.

لن يؤثر فارق التوقيت هذا على أداء برنامجك كثيرًا ولكن من الجيد معرفة أيهما أكثر كفاءة وكيف يعملان خلف الكواليس.

? في الملخص

يمكنك إنشاء قائمة فارغة باستخدام زوج فارغ من الأقواس المربعة []أو مُنشئ النوع list()، وهي دالة مضمنة تنشئ قائمة فارغة عند عدم تمرير أي وسيطات.

[]تُستخدم الأقواس المربعة بشكل شائع في Python لإنشاء قوائم فارغة لأنها أسرع وأكثر إيجازًا.

آمل حقًا أن تكون مقالتي قد أعجبتك ووجدتها مفيدة. يمكنك الآن إنشاء قوائم فارغة في مشاريع Python الخاصة بك. تحقق من دوراتي عبر الإنترنت. تابعني على تويتر. ⭐️

إذا كنت تريد التعمق أكثر في القوائم ، فقد ترغب في قراءة:

  • إلحاق قائمة بايثون - كيفية إضافة عنصر إلى مصفوفة ، موضح بأمثلة
  • طريقة مصفوفة قائمة فرز بايثون - شرح تصاعدي وتنازلي بأمثلة
  • قائمة Python إلحاق VS Python قائمة - الفرق الموضح بأمثلة طريقة Array