الانتقال إلى المحتوى الرئيسي

كيفية تغيير ترتيب العناصر في قائمة في بايثون

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

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

فرز العناصر في القائمة

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

  1. أساسيات بايثون
  2. المتغيرات
  3. أنواع البيانات
  4. المشغلين الشرطيين
  5. دورات
  6. المهام
  7. وحدات
  8. الاستثناءات
  9. عكس()
  10. طريقة الفرز () طريقة
  11. مرتبة () وظيفة
  12. باستخدام شريحة
  13. باستخدام الرمز البريدي () وظيفة
  14. سؤال وجواب
  15. كيف يمكنني تغيير ترتيب العناصر في قائمة في بيثون?
  16. كيف أقوم بفرز القائمة بترتيب تنازلي في بايثون?
  17. هل من الممكن تغيير ترتيب العناصر في قائمة في بيثون دون استخدام المدمج في وظائف أو أساليب?
  18. كيف يمكنني تغيير ترتيب العناصر في قائمة على أساس معيار معين في بيثون?
  19. كيف يمكنني مبادلة عنصرين في قائمة في بيثون?
  20. هل من الممكن تغيير ترتيب العناصر في القائمة دون التأثير على بقية العناصر?

أساسيات بايثون

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

وفيما يلي المفاهيم الأساسية ويبني اللازمة للبدء مع بيثون:

المتغيرات

. على سبيل المثال:

رسالة = " مرحبا العالم!"

العمر = 25

أنواع البيانات

بايثون يدعم أنواع البيانات المختلفة ، بما في ذلك:

  • الأرقام (الأعداد الصحيحة ، أرقام الفاصلة العائمة)
  • سلاسل (تسلسل الأحرف)
  • قوائم (مجموعات مرتبة من العناصر)
  • الصفوف (مجموعات مرتبة غير قابلة للتغيير من العناصر)
  • القواميس (مجموعات من أزواج القيمة الرئيسية)
  • مجموعات (مجموعات من العناصر الفريدة)
  • )

المشغلين الشرطيين

. على سبيل المثال:

العمر = 18

إذا كان العمر > = 18:

طباعة ("أنت في السن القانونية")

آخر:

طباعة ("أنت قاصر")

دورات

. على سبيل المثال:

أرقام = [1, 2, 3, 4, 5]

للعدد بالأرقام:

طباعة (رقم)

أنا = 0

بينما أنا < 5:

طباعة (ط)

أنا + = 1

المهام

. على سبيل المثال:

مواطنه تحية (اسم):

طباعة ("مرحبا ،" + اسم+"!")

تحية ("فاسيا")

وحدات

الوحدات النمطية هي ملفات تحتوي على تعريفات للوظائف والفئات والمتغيرات. بيثون لديها عدد كبير من الوحدات التي توسع وظائف اللغة. لاستخدام الوحدة ، يجب استيرادها. على سبيل المثال:

استيراد الرياضيات

طباعة (الرياضيات.بي)

الاستثناءات

. على سبيل المثال:

حاول:

س = 10 / 0

باستثناء التأخر الصفريخطأ:

طباعة ("القسمة على صفر!")

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

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

مثال على استخدام الطريقة العكسية() :

"'بايثون

الفواكه = ['التفاح' ، 'الموز' ، 'البطيخ' ، 'الكمثرى']

الفواكه.عكس()

طباعة (الفواكه)

«`

الناتج:

"'بايثون

['الكمثرى' ، 'البطيخ' ، 'الموز' ، 'التفاح']

"`

كما ترون من المثال ، عكس () طريقة عكس ترتيب العناصر في قائمة الفواكه.

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

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

إذا كنت بحاجة إلى إنشاء مجموعة جديدة بترتيب عكسي للعناصر دون تغيير الأصل ، فيمكنك استخدام شريحة. على سبيل المثال:

"'بايثون

الفواكه = ['التفاح' ، 'الموز' ، 'البطيخ' ، 'الكمثرى']

الفواكه المعكوسة = الفواكه [:: -1]

طباعة (عكس_فواكه)

"`

الناتج:

"'بايثون

['الكمثرى' ، 'البطيخ' ، 'الموز' ، 'التفاح']

"`

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

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

طريقة الفرز ()

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

لتطبيق طريقة الفرز () على قائمة ، يكفي تسميتها في القائمة نفسها. على سبيل المثال ، إذا كانت لدينا قائمة بالأرقام:

أرقام = [4, 2, 1, 3]

يمكننا فرزها عن طريق استدعاء طريقة الفرز () على النحو التالي:

أرقام.فرز()

سيتم تغييرها على النحو التالي:

[1, 2, 3, 4]

يمكن أيضا استخدام طريقة الفرز () لفرز قوائم السلاسل. على سبيل المثال:

الفواكه = ['التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ']

الفواكه.فرز()

سيكون التالي:

['التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ']

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

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

. على سبيل المثال:

أرقام = [4, 2, 1, 3]

أرقام.فرز (عكس = صحيح)

سيكون على النحو التالي:

[4, 3, 2, 1]

كمفتاح لفرز القائمة حسب طول الخط:

الفواكه = ['الموز' ، 'التفاح' ، 'الكرز' ، 'تاريخ']

الفواكه.فرز (مفتاح = لين)

سيكون على النحو التالي:

['تاريخ' ، 'التفاح' ، 'الكرز' ، 'الموز']

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

الدالة المصنفة ()

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

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

على سبيل المثال:

الفواكه = ['التفاح' ، 'الموز' ، 'الكرز' ، 'دوريان']

فرز_فواكه = فرز_فواكه

طباعة (فرز الفواكه)

سيتم إخراج هذا الرمز:

['التفاح' ، 'الموز' ، 'الكرز' ، 'دوريان']

يمكن أن تأخذ الدالة المصنفة () أيضا كوسيطة وظيفة مقارنة اختيارية تحدد ترتيب فرز العناصر.

على سبيل المثال ، يمكنك استخدام الدالة المصنفة () لفرز الأرقام حسب القيمة المطلقة:

أرقام = [-5, 3, -1, 8, 2]

فرز_الأرقام = مرتبة (أرقام ، مفتاح = القيمة المطلقة)

طباعة (أرقام مصنفة)

سيتم إخراج هذا الرمز:

[-1, 2, 3, -5, 8]

في هذا المثال ، يتم استخدام وظيفة القيمة المطلقة كدالة مقارنة لفرز الأرقام حسب قيمتها المطلقة ، بدلا من قيمتها الأصلية.

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

على سبيل المثال ، يمكنك فرز قائمة القاموس حسب قيم مفتاح ' اسم ' باستخدام التعليمات البرمجية التالية:

الناس = [

{'اسم': 'جون' ، 'العمر': 25},

{'الاسم': 'أليس' ، 'العمر': 32},

{'الاسم': 'أندرو' ، 'العمر': 20}

]

فرز_الناس = مرتبة (الناس ، مفتاح = لامدا س: س ['اسم'])

طباعة (فرز_الناس)

سيتم إخراج هذا الرمز:

[

{'الاسم': 'أليس' ، 'العمر': 32},

{'الاسم': 'أندرو' ، 'العمر': 20},

{'اسم': 'جون' ، 'العمر': 25}

]

يستخدم هذا المثال وظيفة لامدا التي ترجع قيمة مفتاح ' اسم ' لكل قاموس لتحديد ترتيب الفرز.

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

باستخدام شريحة

شرائح في بيثون تسمح لك لتحديد أجزاء معينة من القائمة أو تغيير ترتيبها.

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

قائمة = [1, 2, 3, 4]

قائمة [0] ، قائمة [-1] = قائمة [-1] ، قائمة [0]

طباعة (قائمة)

الناتج:

[4, 2, 3, 1]

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

قائمة = [1, 2, 3, 4, 5]

قائمة [: 3] = قائمة [: 3] [:: -1]

طباعة (قائمة)

الناتج:

[3, 2, 1, 4, 5]

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

قائمة = [1, 2, 3, 4, 5, 6]

قائمة [:: 2] = قائمة[::2][::-1]

طباعة (قائمة)

الناتج:

[6, 2, 4, 3, 5, 1]

يتيح لك استخدام الشرائح تغيير ترتيب العناصر بمرونة في قائمة بايثون.

باستخدام الرمز البريدي () وظيفة

وظيفة الرمز البريدي () هي وظيفة مدمجة في لغة برمجة بايثون تسمح لك بدمج العناصر من قوائم متعددة في مجموعات. تحتوي كل مجموعة على عناصر من جميع قوائم المصدر في مواقعها الخاصة.

بناء جملة الدالة هو كما يلي:

الرمز البريدي (*كائنات قابلة للتكرار)

حيث تكون الكائنات القابلة للتكرار عبارة عن قوائم أو كائنات أخرى قابلة للتكرار تحتاج إلى الجمع.

النظر في مثال على استخدام الرمز البريدي () وظيفة:

القائمة 1 = ['أ' ، 'ب' ، 'ج']

القائمة 2 = [1 ، 2 ، 3]

القائمة 3 = ['س' ، 'ص' ، 'ض']

النتيجة = القائمة (الرمز البريدي (القائمة 1 ، القائمة 2 ، القائمة 3))

طباعة (نتيجة)

في هذا المثال ، تجمع وظيفة الرمز البريدي () عناصر من قائمة القوائم 1 والقائمة 2 والقائمة 3 في مجموعات. ستكون نتيجة تنفيذ هذا الرمز:

[('أ' ، 1 ، 'س') ، ('ب' ، 2 ، 'ص') ، ('ج' ، 3 ، 'ض')]

كما ترى ، تحتوي كل مجموعة على عناصر من كل قائمة في مواقعها الخاصة.

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

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

مثال:

القائمة 1 = ['أ' ، 'ب' ، 'ج']

القائمة 2 = [1 ، 2]

القائمة 3 = ['س' ، 'ص' ، 'ض']

النتيجة = القائمة (الرمز البريدي (القائمة 1 ، القائمة 2 ، القائمة 3))

طباعة (نتيجة)

في هذه الحالة ، تقوم وظيفة الرمز البريدي() بإرجاع النتيجة التالية:

[('أ' ، 1 ، 'س') ، ('ب' ، 2 ، 'ص')]

لن يتم تضمين العنصر الثالث 'ض' من القائمة 3 في النتيجة ، نظرا لأن العنصر المقابل له مفقود من القائمة 2.

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

سؤال وجواب

كيف يمكنني تغيير ترتيب العناصر في قائمة في بيثون?

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

كيف أقوم بفرز القائمة بترتيب تنازلي في بايثون?

لفرز القائمة بترتيب تنازلي في بايثون ، يمكنك استخدام طريقة الفرز(عكس=صحيح) أو وظيفة الفرز (عكس=صحيح). تقوم كلتا الطريقتين بفرز عناصر القائمة بترتيب تنازلي. يمكنك أيضا استخدام شريحة [:: -1] لعكس ترتيب العناصر في القائمة.

هل من الممكن تغيير ترتيب العناصر في قائمة في بيثون دون استخدام المدمج في وظائف أو أساليب?

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

كيف يمكنني تغيير ترتيب العناصر في قائمة على أساس معيار معين في بيثون?

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

كيف يمكنني مبادلة عنصرين في قائمة في بيثون?

لمبادلة أماكن عنصرين في قائمة في بيثون ، يمكنك استخدام خوارزمية لتبادل القيم باستخدام متغير مؤقت. على سبيل المثال ، لمبادلة العناصر بالفهارس أنا و ي في قائمة قائمتي ، يمكنك استخدام الكود التالي: قائمتي [أنا] ، قائمتي [ي] = قائمتي [ي] ، قائمتي [أنا]

هل من الممكن تغيير ترتيب العناصر في القائمة دون التأثير على بقية العناصر?

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