في هذه المقالة، سنناقش كيفية تبديل حرفين في سلسلة. هناك طرق مختلفة من شأنها أن تساعد على فهم كيف يمكننا تبديل حرفين في سلسلة.
النهج 1: استخدام طريقة القائمة () والانضمام ().
إذا أردنا تبديل حرفين في سلسلة، يمكننا استخدام قائمة() و ينضم() طريقة.
مثال:
اختر من جداول متعددة في SQL
# Input string string = 'hello world' # Convert string to list of characters char_list = list(string) # Swap characters at index 2 and index 6 char_list[2], char_list[6] = char_list[6], char_list[2] # Convert list back to string new_string = ''.join(char_list) # Output new string print(new_string)
انتاج:
hewlo lorld
توضيح:
في الكود أعلاه، قمنا أولاً بتعريف سلسلة الإدخال على أنها 'مرحبا بالعالم' . بعد ذلك، نقوم بتحويل السلسلة إلى قائمة الأحرف باستخدام الملف قائمة() طريقة. التالي نستخدم تفريغ الصفوف لتبديل الأحرف في الفهرس 2 و الفهرس 6 في القائمة. وأخيرًا، نقوم بتحويل القائمة مرة أخرى إلى سلسلة باستخدام التابع ينضم() الطريقة وإخراج السلسلة الجديدة
النهج 2: استخدام التقطيع والتسلسل
إذا أردنا تبديل حرفين في سلسلة، يمكننا استخدام تقطيع و سلسلة طريقة.
مثال:
# Input string string = 'hello world' # Swap characters at index 2 and index 6 new_string = string[:2] + string[6] + string[3:6] + string[2] + string[7:] # Output new string print(new_string)
انتاج:
hewlo lorld
الشرح:
في هذا النهج نستخدم تقطيع السلسلة و سلسلة لتبديل الشخصيات. نقوم بتقطيع الخيط إلى أربعة أجزاء: سلسلة فرعية قبل الحرف الأول الذي سيتم تبديله (سلسلة [: 2]) ، الحرف الأول الذي تم تبديله (السلسلة[6]) ، السلسلة الفرعية بين الأحرف المتبادلة (السلسلة[3:6]) ، الحرف الثاني الذي تم تبديله (سلسلة [2]) ، والسلسلة الفرعية بعد الحرف الثاني الذي تم تبديله (سلسلة [7:]) . بعد ذلك، نقوم بربط هذه السلاسل الفرعية بالترتيب المطلوب لإنشاء السلسلة الجديدة.
النهج 3: استخدام فهم القائمة
إذا أردنا تبديل حرفين في سلسلة، يمكننا استخدام قائمة الفهم طريقة.
مثال:
# Input string string = 'hello world' # Swap characters at index 2 and index 6 char_list = [string[i] if i not in (2, 6) else string[6 if i == 2 else 2] for i in range(len(string))] # Convert list back to string new_string = ''.join(char_list) # Output new string print(new_string)
انتاج:
hewlo lorld
توضيح:
في هذا الأسلوب، نقوم بإنشاء قائمة من الأحرف باستخدام فهم القائمة الذي يتكرر عبر مؤشرات سلسلة الإدخال. نستخدم تعبيرًا شرطيًا ضمن قائمة الفهم لتبديل الأحرف الفهرس 2 و الفهرس 6 .
التعبير سلسلة [6 إذا كنت == 2 آخر 2] إرجاع الحرف في الفهرس 6 إذا كان المؤشر الحالي 2 ، وإرجاع الحرف عند الفهرس 2 إذا كان المؤشر الحالي 6 . وإلا، فإنه يقوم بإرجاع الحرف الأصلي في الفهرس الحالي. بعد ذلك، نقوم بتحويل قائمة الأحرف مرة أخرى إلى سلسلة باستخدام الأمر طريقة الانضمام (). وإخراج السلسلة الجديدة.
قد يكون هذا الأسلوب أقل كفاءة من الأساليب السابقة لأنه يقوم بإنشاء قائمة جديدة من الأحرف، ولكنه قد يكون مفيدًا في المواقف التي يكون فيها فهم القائمة أكثر ملاءمة أو بديهية للاستخدام.
النهج 4: استخدام النوع المدمج 'bytearray'.
إذا أردنا تبديل حرفين في سلسلة، يمكننا استخدام bytearray طريقة.
مثال:
# Input string string = 'hello world' # Convert string to bytearray byte_array = bytearray(string, 'utf-8') # Swap characters at index 2 and index 6 byte_array[2], byte_array[6] = byte_array[6], byte_array[2] # Convert bytearray back to string new_string = byte_array.decode() # Output new string print(new_string)
انتاج:
hewlo lorld
توضيح:
في هذا الأسلوب، نقوم أولاً بتحويل سلسلة الإدخال إلى a bytearray باستخدام بايتيراي() وظيفة مدمجة. بعد ذلك نحدد 'utf-8' الترميز لتحويل السلسلة إلى بايت، ثم نقوم بتبديل الحرفين في الفهرس 2 و الفهرس 6 عن طريق الوصول مباشرة إلى العناصر المقابلة في bytearray . وأخيراً نقوم بتحويل bytearray العودة إلى سلسلة باستخدام فك تشفير() الطريقة وإخراج السلسلة الجديدة.
هذا النهج فعال لأنه يستخدم bytearray قابل للتغيير بدلاً من إنشاء سلسلة أو قائمة جديدة.