6 طرق مختلفة لعرض القوائم في بايثون

6 طرق مختلفة لعرض القوائم في بايثون

عقدة المصدر: 3091325

المُقدّمة

في بايثون، لا تقتصر طباعة القوائم على إظهار القيم فحسب؛ إنها طريقة للمبرمجين لفهم الكود الخاص بهم بشكل أفضل والتأكد من أن البيانات تبدو صحيحة. دعونا نستكشف طرقًا مختلفة لطباعة القوائم، مع أمثلة عملية ونصائح لجعل الأمور أكثر وضوحًا. دعونا نتعمق في عالم قوائم بايثون.

التسجيل في موقعنا بالطبع مجانا من بايثون.

جدول المحتويات

طباعة القوائم في بايثون

الطباعة القوائم في بايثون يفتح المجال أمام مجموعة من الطرق، وفي هذه المقالة سنستكشف عدة طرق فعالة:

  • استخدام للحلقة
  • تحويل القائمة إلى سلسلة للعرض
  • استخدام المعلمة sep في الطباعة ()
  • باستخدام وظيفة الخريطة ().
  • استخدام الفهرسة والتقطيع
  • استخدام قائمة الفهم

عرض قائمة في بايثون باستخدام حلقة For

قم بالتكرار عبر القائمة من 0 إلى طولها وطباعة كل عنصر على حدة باستخدام حلقة for؛ هذه هي الطريقة التقليدية لإنجاز ذلك.

فيما يلي مثال لعرض قائمة في بايثون باستخدام حلقة for:

# Creating a list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying each fruit using a for loop

print("List of Fruits:")

for fruit in fruits:

    print(fruit)

في هذا المثال، لدينا قائمة بالفواكه، وتتكرر حلقة for خلال كل عنصر في القائمة، وتعرضها واحدًا تلو الآخر.

الإخراج:

عرض القوائم

تعقيد الوقت (O(n)):

التعقيد الزمني هو O(n) لأنه في حلقة for، تتم زيارة كل عنصر في القائمة مرة واحدة، ويتناسب الوقت المستغرق لتنفيذ الحلقة بشكل مباشر مع عدد العناصر في قائمة الإدخال.

تعقيد الفضاء (O(1)):

تعقيد المساحة هو O(1) حيث تستخدم الحلقة مقدارًا ثابتًا من الذاكرة، بغض النظر عن حجم الإدخال؛ فهو يستخدم متغيرًا واحدًا فقط (عنصرًا) لتمثيل كل عنصر في القائمة ولا يقوم بإنشاء هياكل بيانات إضافية تنمو مع الإدخال.

عرض قائمة عن طريق تحويلها إلى سلسلة

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

وإليك مثال على ذلك:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Convert the list to a string and display it

result_string = ', '.join(fruits)

print("List of Fruits: " + result_string)

في هذا المثال، يقوم أسلوب الانضمام بتسلسل عناصر القائمة في عنصر واحد سلسلة، مفصولة بفاصلة ومسافة. ثم يتم عرض النتيجة كسلسلة منسقة.

الإخراج:

عرض القوائم

تعقيد الوقت (O(n)):

التعقيد الزمني هو O(n) لأنه في حلقة for، تتم معالجة كل عنصر في القائمة مرة واحدة، ويتغير وقت التنفيذ خطيًا مع عدد العناصر في قائمة الإدخال. مع نمو المدخلات، ينمو وقت تشغيل الخوارزمية بشكل متناسب.

تعقيد الفضاء (O(1)):

تعقيد المساحة هو O(1) لأن الخوارزمية تستخدم مقدارًا ثابتًا من الذاكرة بغض النظر عن حجم الإدخال. تتطلب الحلقة متغيرًا واحدًا فقط (عنصرًا) لتمثيل كل عنصر في القائمة، ولا تنشئ هياكل بيانات إضافية أو ذاكرة تعتمد على حجم قائمة الإدخال.

عرض باستخدام معلمة sep في Print()

تتيح لك المعلمة sep في الدالة print()‎ تحديد فاصل بين العناصر التي تقوم بطباعتها. 

يتيح لك استخدام رمز النجمة (*) عرض عناصر القائمة في سطر واحد بمسافات. لعرض كل عنصر على سطر جديد أو مفصول بفواصل، استخدم sep=”n” أو sep=”، “على التوالي. 

فيما يلي مثال باستخدام قائمة الفواكه:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list with a custom separator using the sep parameter

print("List of Fruits:", *fruits, sep=", ")

في هذا المثال، يحدد sep=”، ” أنه يجب استخدام الفاصلة والمسافة كفاصل بين العناصر الموجودة في القائمة.

الإخراج:

تعقيد الوقت (O(n)):

التعقيد الزمني هو O(n)، لأنه مع حلقة for، تتم معالجة كل عنصر في القائمة بشكل فردي. مع زيادة عدد العناصر (n)، يزداد وقت التنفيذ خطيًا، مما يعكس العلاقة المباشرة بين حجم الإدخال ووقت الحساب.

تعقيد الفضاء (O(1)):

تعقيد المساحة هو O(1) نظرًا لأن الخوارزمية تستخدم مقدارًا ثابتًا من الذاكرة، بغض النظر عن حجم الإدخال. تستخدم الحلقة مجموعة ثابتة من المتغيرات (مثل "العنصر") وتتجنب إنشاء هياكل بيانات إضافية أو تخصيص الذاكرة ديناميكيًا فيما يتعلق بحجم الإدخال.

عرض قائمة في بايثون باستخدام وظيفة Map()

استخدم الدالة Map() للتأكد من أن كل عنصر في القائمة عبارة عن سلسلة، خاصة عندما تتضمن القائمة عناصر غير سلسلة. بعد ذلك، قم بدمج هذه العناصر المحولة باستخدام وظيفة الانضمام لعرض موحد.

فيما يلي مثال لعرض قائمة الفواكه في بايثون:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list of fruits

print("List of Fruits:", fruits)

الإخراج:

تقوم وظيفة print() تلقائيًا بتنسيق القائمة للعرض. إذا كنت تريد تخصيص المخرجات بشكل أكبر، فيمكنك التكرار عبر القائمة وطباعة كل عنصر على حدة أو استخدام طريقة الانضمام، كما هو موضح في الأمثلة السابقة.

عرض قائمة في بايثون باستخدام الفهرسة والتشريح

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

وإليك مثال على ذلك:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the entire list

print("Complete List of Fruits:", fruits)

# Displaying specific elements using indexing

print("First Fruit:", fruits[0])

print("Third Fruit:", fruits[2])

# Displaying a subset using slicing

print("Subset of Fruits:", fruits[1:4])

الإخراج:

في هذا المثال، يتم استخدام الفهرسة للوصول إلى العناصر الفردية (على سبيل المثال، الفواكه[0] للعنصر الأول)، ويتم استخدام التقسيم لعرض مجموعة فرعية من القائمة (على سبيل المثال، الفواكه[1:4] للعناصر الموجودة في الفهرس 1، 2 و 3).

تعقيد الوقت (O(n)):

التعقيد الزمني هو O(n) لأن التكرار عبر القائمة باستخدام الفهرسة أو التقطيع يتضمن زيارة كل عنصر مرة واحدة. مع زيادة حجم القائمة (n)، فإن الوقت المستغرق للوصول إلى القائمة أو تقسيمها ينمو بشكل خطي.

تعقيد الفضاء (O(1)):

تعقيد المساحة هو O(1) لعمليات الفهرسة والتقسيم لأنها تستخدم مقدارًا ثابتًا من الذاكرة الإضافية، بغض النظر عن حجم القائمة. تظل الذاكرة المطلوبة لمتغيرات الفهرس/الشريحة ثابتة، ولا تتغير مع حجم الإدخال.

عرض قائمة في بايثون باستخدام فهم القائمة

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

فيما يلي مثال لعرض قائمة معدلة من الفواكه باستخدام فهم القائمة:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Using list comprehension to create a new list with capitalized fruits

capitalized_fruits = [fruit.capitalize() for fruit in fruits]

# Displaying the new list

print("Capitalized Fruits:", capitalized_fruits)

الإخراج:

عرض القوائم

في هذا المثال، يتم استخدام فهم القائمة لإنشاء قائمة جديدة (بأحرف_فاكهة كبيرة). والنتيجة هي قائمة فواكه مكتوبة أسماؤها بالأحرف الكبيرة.

تعقيد الوقت (O(n)):

التعقيد الزمني هو O(n) لهذا المثال لأنه يتكرر خلال كل عنصر في القائمة الأصلية للفواكه. يتغير وقت التنفيذ خطيًا مع عدد الثمار، مما يجعله متناسبًا مع حجم قائمة الإدخال.

تعقيد الفضاء (O(ن)):

تعقيد المساحة هو O(n) حيث يؤدي فهم القائمة إلى إنشاء قائمة جديدة (بأحرف_كبيرة) تنمو مع حجم قائمة الإدخال (الفواكه). يتوافق كل عنصر في القائمة الأصلية مع عنصر في القائمة الجديدة، مما يساهم في وجود علاقة خطية بين حجم الإدخال والذاكرة المستخدمة.

وفي الختام

في لغة Python، يعد إتقان فن طباعة القوائم أمرًا بالغ الأهمية لفهم التعليمات البرمجية وتصور البيانات. لقد استكشف هذا الدليل ست طرق فعالة لعرض القوائم، ويقدم أمثلة عملية ونصائح للتوضيح. سواء كنت تستخدم الحلقات، أو تحويل السلسلة، أو الفواصل المخصصة، أو وظائف الخريطة، أو الفهرسة، أو التقطيع، أو فهم القائمة، فإن كل نهج يخدم غرضًا محددًا، مما يعزز مهاراتك في برمجة Python.

الأسئلة المتكررة

س1. لماذا يوصى بفهم القائمة لعرض القوائم؟

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

س2. كيف تؤثر الفهرسة على تعقيد الوقت عند عرض القائمة؟

A. للفهرسة تعقيد زمني يبلغ O(1) للوصول إلى العناصر الفردية، مما يوفر وقتًا ثابتًا بغض النظر عن حجم القائمة. ومع ذلك، فإن التكرار عبر القائمة بأكملها باستخدام الفهرسة يؤدي إلى تعقيد وقت O(n).

س3. متى يجب استخدام المعلمة sep في print()؟

A. تكون المعلمة sep مفيدة عند تخصيص الفاصل بين العناصر في القائمة المطبوعة. يسمح بعرض منظم، خاصة عند عرض العناصر في سطر واحد أو بفاصل محدد.

س 4. هل هناك طريقة موصى بها لعرض قائمة السلاسل؟

أ. نعم، يوصى باستخدام الدالة join() لعرض قائمة السلاسل. فهو يربط العناصر بكفاءة باستخدام فاصل محدد، مما يؤدي إلى إنشاء سلسلة موحدة لسهولة العرض.

س5: كيف يؤثر فهم القائمة على تعقيد المساحة؟

A5: يحتوي فهم القائمة على تعقيد مساحة O(n)، حيث n هو حجم قائمة الإدخال. يقوم بإنشاء قائمة جديدة بنفس عدد العناصر الموجودة في القائمة الأصلية. وبالتالي، المساهمة في وجود علاقة خطية بين حجم الإدخال واستخدام الذاكرة.

الطابع الزمني:

اكثر من تحليلات Vidhya