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

كيفية قلب سلسلة في بيثون: طرق وأمثلة بسيطة

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

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

طباعة (عكس_سلسلة)

ستكون نتيجة تنفيذ هذا الرمز هي السلسلة"!روما ، تيفيرب". وبالتالي ، تسمح لنا الشرائح بقلب السلسلة بسرعة وببساطة.

  1. باستخدام شرائح: إلى الأمام وعكس النظام
  2. باستخدام ل حلقة و تسلسل
  3. باستخدام المدمج في عكس () وظيفة
  4. باستخدام العودية
  5. باستخدام مكتبة السلسلة القياسية وطريقة الانضمام ()
  6. سؤال وجواب
  7. كيف يمكنني الوجه سلسلة في بيثون?
  8. كيف يمكنني الوجه خط دون استخدام المدمج في وظائف?
  9. هل من الممكن قلب سلسلة تتكون من عدة كلمات بنفس الطريقة?
  10. أي طريقة لقلب سلسلة في بيثون هي أكثر كفاءة في الاستخدام?

باستخدام شرائح: إلى الأمام وعكس النظام

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

يمكنك استخدام شرائح بزيادات سالبة لقلب الخط بالترتيب الأمامي. على سبيل المثال:

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

عكس_سلسلة = سلسلة [:: -1]

طباعة (عكس_سلسلة)

نتيجة لتنفيذ التعليمات البرمجية أعلاه ، السلسلة"!روما ، تيفيرب " سيكون الإخراج. في هذا المثال ، تشير الشريحة [::-1] إلى أنك بحاجة إلى أخذ جميع العناصر بترتيب عكسي.

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

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

عكس_سلسلة = سلسلة [:: -1]

طباعة (عكس_سلسلة)

نتيجة لتنفيذ التعليمات البرمجية أعلاه ، السلسلة"!روما ، تيفيرب " سيكون أيضا الإخراج. في هذه الحالة ، تشير الشريحة [:] إلى أنك بحاجة إلى أخذ جميع العناصر من الأول إلى الأخير ، ولكن بترتيب عكسي.

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

باستخدام ل حلقة و تسلسل

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

Вот пример кода, демонстрирующий использование цикла على и конкатенации для переворота строки:

مواطنه عكس_سلسلة (إدخال _سلسلة):

سلسلة عكسية = ""

لشار في الإدخال _ سلسلة:

عكس_سلسلة = شار + عكس_سلسلة

عودة عكس_سلسلة

إدخال _ سلسلة = " Привет,!!"

عكس_سلسلة = عكس_سلسلة (إدخال _سلسلة)

طباعة (عكس_سلسلة)# !риМ ,тевирП

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

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

وبالتالي ، فإن استخدام عملية الحلقة والتسلسل هو طريقة بسيطة وفعالة لقلب سلسلة في بايثون.

باستخدام المدمج في عكس () وظيفة

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

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

مثال على استخدام الدالة العكسية() لقلب سلسلة هو:

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

سلسلة عكسية =".تاريخ (قائمة (سلسلة) [:: -1])

طباعة (عكس_سلسلة)

خاتمة:

!روما ، تيفيرب

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

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

باستخدام العودية

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

هنا مثال على وظيفة العودية التي تقلب سلسلة:

مواطنه عكس_سلسلة _سلسلة (سلسلة):

# الحالة الأساسية-إذا كانت السلسلة فارغة أو تتكون من حرف واحد ، فأعدها

إذا لين (سلسلة) < = 1:

عودة سلسلة

# استدعاء الدالة بشكل متكرر لبقية السلسلة وإضافة الحرف الحالي إلى نهاية النتيجة

عودة عكس_سلسلة _سلسلة (سلسلة [1:]) + سلسلة [0]

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

مثال على استخدام الوظيفة:

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

سلسلة معكوسة = سلسلة معكوسة (سلسلة)

طباعة (عكس_سلسلة)

خاتمة:

"روما ، تيفيرب"

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

باستخدام مكتبة السلسلة القياسية وطريقة الانضمام ()

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

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

لاستخدام طريقة الانضمام () ، اتبع الخطوات التالية:

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

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

"'بايثون

استيراد سلسلة

مواطنه عكس_سلسلة (إدخال _سلسلة):

سترينغليست = قائمة (إدخال _ سلسلة) # تحويل سلسلة إلى قائمة من الأحرف

قائمة السلاسل.عكس () # التقليب قائمة الأحرف

سلسلة معاكسة = سلسلة.الانضمام (""،قائمة السلاسل) # دمج الأحرف في سلسلة بدون فاصل

عودة عكس_سلسلة

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

عكس_سلسلة = عكس_سلسلة (إدخال _سلسلة)

طباعة (عكس_سلسلة)# !روما ، تيفيرب

«`

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

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

"'بايثون

سلسلة معاكسة = سلسلة.انضم ("- "،قائمة السلاسل)

"`

الآن ستبدو النتيجة كما يلي:"آر-آي-في-إي-تي - ، تي-إي-في-آي-آر-بي".

وبالتالي ، فإن استخدام مكتبة السلسلة القياسية وطريقة الانضمام() هي طريقة سهلة وفعالة لقلب سلسلة في بايثون.

سؤال وجواب

كيف يمكنني الوجه سلسلة في بيثون?

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

كيفية الوجه سلسلة دون استخدام المدمج في وظائف?

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

هل من الممكن قلب سلسلة تتكون من عدة كلمات بنفس الطريقة?

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

أي طريقة لقلب سلسلة في بيثون هي أكثر كفاءة في الاستخدام?

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