فهم السلاسل الفرعية في بايثون بالأمثلة

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

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

قبل أن نبدأ ، من الضروري أن نعرف ما هي السلسلة والوتر. السلسلة عبارة عن سلسلة من أحرف Unicode تتكون من أحرف أبجدية رقمية و / أو أحرف خاصة. يمكننا تعريف سلسلة فرعية كجزء من تسلسل الأحرف داخل سلسلة.

سنناقش ما يلي:

  • إنشاء سلسلة فرعية.
  • طرق تقطيع الخيط الفرعي.
  • عدد تكرارات سلسلة فرعية
  • البحث عن وجود سلسلة فرعية في سلسلة.

هيا نبدأ!

إنشاء سلسلة فرعية

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

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

string[begin-index: end-index: step]

لاحظ أن قيمة الفهرس في أي سلسلة تبدأ من الصفر.

تشير معلمة start-index إلى فهرس بداية السلسلة الفرعية. لذلك ، إذا حذفت هذا العنصر عند التقطيع ، فإن Python تفترض تلقائيًا أن قيمة الفهرس هي صفر.

مؤشر النهاية هو الفهرس الأخير للسلسلة الفرعية. عندما لا تذكرها ، يفترض التقطيع أن قيمتها تساوي طول السلسلة.

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

طرق تقطيع الخيط

هناك عدة طرق يمكننا من خلالها الحصول على سلسلة فرعية من سلسلة. وتشمل هذه:

  هل يمكن لمواقع الويب رؤية موقعك الفعلي؟

# 1. التقطيع باستخدام فهرس البداية وفهرس النهاية.

String = string[begin-index : end-index]

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

string = 'Michael Doe'

print(string[0:7])

سيكون الإخراج:

Michael

# 2. التقطيع باستخدام فهرس البداية بدون فهرس نهاية.

String= string[begin-index:]

هنا ، نشير فقط من الفهرس الذي نريد أن نبدأ في استخراج أحرف السلسلة الفرعية الخاصة بنا من السلسلة — تقطيع المقتطفات حتى الفهرس الأخير للسلسلة بأكملها التي عادةً ما تحتوي على فهرس من -1.

مثال:

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

انتاج:

to demonstrate slicing of a string using the begin-index without the end-index

# 3. التقطيع باستخدام فهرس النهاية بدون فهرس البداية.

String = string[:end-index]

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

مثال:

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

انتاج:

This is t

# 4. تقطيع السلسلة بأكملها.

String = string[ : ]

في هذه الحالة ، لم نحدد أيًا من المحددات ؛ لذلك ، يتم إرجاع السلسلة بأكملها.

مثال

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

انتاج:

This is to demonstrate slicing of the entire string

# 5. قطع حرف واحد من سلسلة.

String = string[index]

يتم هنا تقطيع قيمة مؤشر دقيقة لحرف السلسلة.

مثال:

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

تتم طباعة ‘t’ in ‘to’ لأن قيمة فهرسها هي 8.

# 6. التقطيع باستخدام فهرس البداية وفهرس النهاية والخطوة.

مثال

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

عندما يتم تعيين قيمة الخطوة على 1 ، يحدث التقطيع العادي ، ويتم إخراج ما يلي هنا.

demonstrate s

باستخدام نفس المثال ، دعنا نضبط قيمة الخطوة على 2.

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

سيتم تقطيع الشخصيات في خطوات 2 مثل هذا.

dmntaes

التقطيع يستخرج الحرف الثاني بعد الحالي. لذلك ، فإن شرائح بايثون “تُظهِر” إلى Dmntaes.

  ما هو نطاق متوسط ​​شبكة Wi-Fi؟

# 7. عكس الوتر بخطوة سالبة.

في هذا المثال ، سيتم عرض السلسلة بأكملها من آخر حرف في السلسلة إلى الحرف الأول.

string = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

انتاج:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

تعمل الخطوة السلبية على النحو التالي:

ر
ه
الخامس
ه
ر
س
ه

1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

تبدأ قيمة فهرس البداية للسلسلة العكسية أعلاه من 0 افتراضيًا وتنتهي بالرقم 6. وتعكس الخطوة السالبة قيمة الفهرس للحرف الأخير وتطبقها على الحرف الأول ، وتبطل هذه القيمة.

المزيد من الأمثلة على التقطيع

الحصول على أول أربعة أحرف سلسلة فرعية في سلسلة.

string = 'characters'

print(string[0:4])

سوف يخرج:

char

البحث عن وجود سلسلة فرعية في سلسلة

تستخدم Python إما دالة find () أو عامل التشغيل “in” للتحقق من وجود سلسلة فرعية في سلسلة.

استخدام مثال عامل التشغيل “in”

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

انتاج:

Could not find the substring defined

يتحقق المثال أعلاه مما إذا كانت السلسلة الفرعية “بحث” موجودة في السلسلة المُعلنة. نظرًا لعدم العثور على السلسلة الفرعية في السلسلة ، يكون الإخراج كما هو معروض أعلاه.

سيؤدي استبدال السلسلة الفرعية “find” بالسلسلة الفرعية “that” والتحقق مما إذا كانت موجودة في السلسلة أم لا إلى إرجاع “تم العثور على السلسلة الفرعية” بدلاً من ذلك لأنها موجودة في السلسلة.

  كيفية إنشاء جدول زمني في Microsoft PowerPoint

باستخدام مثال دالة find ():

string = 'using string to find if a substring is present in a string'

if string.find('found') != -1:

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

انتاج:

<code class="language-python">The substring 'found' does not exist

في المثال أعلاه ، حاولنا إيجاد سلسلة فرعية ليست جزءًا من السلسلة. كما رأينا أعلاه ، تقوم دالة find () بالتحقق من السلسلة بأكملها ، ولم يتم العثور على هذه السلسلة الفرعية “التي تم العثور عليها” المحددة ، فهي ترجع الإخراج “السلسلة الفرعية التي تم العثور عليها غير موجودة” كإخراج.

إيجاد عدد تكرارات سلسلة فرعية

تستخدم Python الدالة count () التي تنفذ هذا الشرط ، كما في المثال أدناه.

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

انتاج:

The 'o' substring count is:  5

استنتاج

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

قد تتعلم أيضًا كيفية إنشاء لعبة تخمين الأرقام باستخدام Python أو كيفية الحصول على بيانات JSON في Python.

ترميز سعيد!