شهد ظهور برمجة بايثون زيادة في عدد الأشخاص للحصول على فرصة عمل أفضل. أثناء المرور ستدرك أن عكس سلسلة في بايثون يجعل الوصول إلى البيانات أسهل في بعض الأحيان. في هذه المقالة ، سنلقي نظرة على برنامج تعليمي خطوة بخطوة لعكس قائمة في Python باستخدام طرق مختلفة.
ستركز هذه المقالة على المؤشرات التالية:
- عكس القائمة باستخدام طريقة list.reverse ()
- استخدام خدعة التقطيع لعكس قائمة بايثون
- إنشاء مكرر عكسي باستخدام الوظيفة المضمنة المعكوسة ()
لنبدأ.
عكس القائمة باستخدام طريقة list.reverse ()
تحتوي كل قائمة في Python على طريقة عكسية مضمنة () ، يمكنك استدعاء هذه الطريقة لعكس محتويات كائن القائمة في المكان. يعني عكس القائمة في مكانها أنها لن تنشئ العناصر الموجودة وتنسخها إلى قائمة جديدة. بدلاً من ذلك ، يقوم بتعديل كائن القائمة الأصلي مباشرةً.
قبل أن نبدأ تأكد من أنك على نظامك.
هذا مثال:
مثال 1:
number_list = [10، 20، 30، 40، 50] عكس_قائمة = number_list.reverse () print (reverse_list) number_list = [10، 20، 30، 40، 50] عكس_list = number_list.reverse () print (reverse_list)
انتاج:
لا شيء
المثال 2:
string_list = ['واحد' ، 'اثنان' ، 'ثلاثة' ، 'أربعة' ، 'خمسة'] reverse_list = string_list.reverse () print (reverse_list)
انتاج:
لا شيء
المثال 3:
ما هو جيت في جافا
def reverse_list (list): print ('Old list:'، list) list.reverse () print ('New list:'، list) number_list = [10، 20، 30، 40، 50] string_list = ['One' ، “Two”، “Three”، “Four”، “Five”] reverse_list (number_list) reverse_list (string_list)
انتاج:
القائمة القديمة: [10 ، 20 ، 30 ، 40 ، 50]
القائمة الجديدة: [50 ، 40 ، 30 ، 20 ، 10]
القائمة القديمة: ['واحد' ، 'اثنان' ، 'ثلاثة' ، 'أربعة' ، 'خمسة']
قائمة جديدة: ['خمسة' ، 'أربعة' ، 'ثلاثة' ، 'اثنان' ، 'واحد']
تفسير
كما ترون ، الاتصال يعكس() أعاد 'لا شيء' لكن عدّل كائن القائمة الأصلي هذه هي الطريقة التي طور بها المطورون مكتبة Python القياسية.
ال يعكس() تقوم الطريقة بتعديل التسلسل في المكان من أجل توفير المساحة عند عكس تسلسل كبير. التأثير الجانبي لهذا هو أنه لا يعرض قائمة معكوسة ولكنه يعرض 'لا شيء'.
للانعكاس الموضعي بعض الفوائد وبعض العيوب. وتتمثل فائدة ذلك في أنه يعمل بسرعة كبيرة حيث يقوم بتبديل عناصر القائمة ولا يُنشئ قائمة جديدة ، وبالتالي يوفر الذاكرة المطلوبة لتخزين قائمة معكوسة. نظرًا لأنه يتجاوز القائمة الأصلية ، فقد يكون هذا عيبًا. ومع ذلك ، يمكننا عكس القائمة مرة أخرى لإعادتها إلى حالتها الأصلية.
بناء الجملة بسيط وسهل. هذا يعني أن المبتدئين أو المطورين من لغة أو خلفية أخرى سيجدون الكود قابلاً للقراءة.
استخدام خدعة التقطيع لعكس قائمة بايثون
تتمتع لغة Python بميزة رائعة لقائمة تسمى التقطيع. حيث يمكنك إنتاج نسخة معكوسة من القائمة باستخدام ميزة التقطيع مع '[:: - 1]'.
هذا مثال:
def reverse_list (list): reverse_list = list [:: - 1] print ('Old list:'، list) print ('New list:'، reverse_list) number_list = [10، 20، 30، 40، 50] string_list = ['واحد' ، 'اثنان' ، 'ثلاثة' ، 'أربعة' ، 'خمسة'] عكس_قائمة (قائمة_ارقام) عكس_قائمة (سلسلة_قائمة)
انتاج:
القائمة القديمة: [10 ، 20 ، 30 ، 40 ، 50]
القائمة الجديدة: [50 ، 40 ، 30 ، 20 ، 10]
القائمة القديمة: ['واحد' ، 'اثنان' ، 'ثلاثة' ، 'أربعة' ، 'خمسة']
قائمة جديدة: ['خمسة' ، 'أربعة' ، 'ثلاثة' ، 'اثنان' ، 'واحد'
تفسير
يقوم بإنشاء نسخة ضحلة من القائمة الأصلية تشغل مساحة أكبر من الذاكرة مقارنة بالعكس الموضعي. نظرًا لأنه ينشئ نسخة ، فإنه يتطلب مساحة أكبر لاستيعاب جميع العناصر الموجودة.
النقطة التي يجب ملاحظتها هنا هي أن بنية القائمة يتم نسخها وليس العناصر المضمنة ، أي العناصر الموجودة في القائمة. وبالتالي ، لا تتكرر العناصر مما يوفر مساحة. يتم أيضًا تحديث المراجع الموجودة في البنية التي تحتوي على عناوين الكائنات فقط. كما ينطبق التغيير على العناصر الواردة في القائمة. إذا تم تعديل الكائن فسوف ينعكس في نسخ أخرى أيضًا.
التقطيع سريع. لكن من الصعب فهم تناقص قابلية قراءة الكود أثناء تصفحك للكود. نظرًا لأنه يقع على عاتق المطور مسؤولية استخدام الخيارات المناسبة اعتمادًا على السيناريو.
جافا system.exit (0)
قد يستغرق فهم النص المكتوب باستخدام التقطيع وقتًا طويلاً ويصعب تخيله. البنية معقدة ولا تعطي صورة واضحة عما تفعله.
إنشاء مكرر عكسي باستخدام الوظيفة المضمنة المعكوسة ()
ستعيد الوظيفة المعكوسة () مكررًا يمكننا من خلاله الوصول إلى العناصر بترتيب عكسي. إذا كانت المتطلبات تتطلب الوصول إلى عنصر فردي من القائمة بترتيب عكسي ، فيمكنك استخدام هذا . لا يعكس القائمة في نفس المكان ولا يقوم بإنشاء نسخة.
هذا مثال:
def reverse_list (list): reverse_list = [] لـ o في (قائمة) معكوسة: reverse_list.append (o) print ('Old list:'، list) print ('New list:'، reverse_list) number_list = [10، 20 ، 30، 40، 50] string_list = [“One”، “Two”، “Three”، “Four”، “Five”] reverse_list (number_list) reverse_list (string_list) Output: Old list: [10، 20، 30، قائمة جديدة: [50 ، 40 ، 30 ، 20 ، 10] القائمة القديمة: ['واحد' ، 'اثنان' ، 'ثلاثة' ، 'أربعة' ، 'خمسة'] قائمة جديدة: ['خمسة' ، 'أربعة' ، 'ثلاثة' ، 'اثنان' ، 'واحد']
انتاج:
القائمة القديمة: [10 ، 20 ، 30 ، 40 ، 50]
القائمة الجديدة: [50 ، 40 ، 30 ، 20 ، 10]
القائمة القديمة: ['واحد' ، 'اثنان' ، 'ثلاثة' ، 'أربعة' ، 'خمسة']
قائمة جديدة: ['خمسة' ، 'أربعة' ، 'ثلاثة' ، 'اثنان' ، 'واحد']
تفسير
كل ما تقوم به هذه الوظيفة هو إرجاع عنصر القائمة بترتيب عكسي باستخدام نمط التكرار بحيث يمكن اجتياز عناصر القائمة بترتيب عكسي.
يتم عرض طريقة أخرى للحصول على قائمة عكسية باستخدام مُنشئ القائمة والوظيفة المعكوسة مما يؤدي إلى رمز مضغوط أدناه.
mylist = [1، 2، 3، 4، 5] قائمة (معكوسة (قائمتي))
انتاج |
[5 ، 4 ، 3 ، 2 ، 1]
تفسير
يقوم مُنشئ القائمة بالتكرار عبر القائمة بترتيب عكسي. يحدث هذا حتى يتم الوصول إلى العنصر الأخير. يقوم أيضًا بإنشاء نسخة ضحلة من القائمة الأصلية بالترتيب العكسي لإعطاء الإخراج المطلوب.
هذا الجزء من الكود قابل للقراءة ويمكن تصوره بسهولة. إنه يعطي صورة واضحة لما يجري في الخلفية. يعد المكرر مفهومًا مهمًا ، وسيكون فهمه على مستوى أعمق مفيدًا ولكن ليس من الضروري استخدامه في كل مرة.
هذا يقودنا إلى نهاية هذا المقال. في هذه المقالة ، قمنا بتغطية الطرق المختلفة لعكس قائمة في بيثون. لقد رأينا إيجابياتهم وسلبياتهم. في حالة إذا كنت ترغب في ذلكاحصل على معرفة متعمقة حول Python مع تطبيقاتها المختلفة ، يمكنك ذلك للتدريب المباشر عبر الإنترنت مع دعم على مدار الساعة طوال أيام الأسبوع وإمكانية الوصول مدى الحياة.
لديك سؤال لنا؟ أذكرها في قسم التعليقات في 'عكس القائمة في Python' وسنعود إليك.