الدالة str.split()
في بايثون
تقسّم الدالة السلسلة النصية إلى قائمة من السلاسل النصية بالاعتماد على فاصل محدّد.
البنية العامة
x.split()
المعاملات
maxsplit
يحدد هذا المعامل الحد الأقصى لعمليات التي التقسيم التي ستجريها الدالة، وبهذا تمتلك القائمة المعادة maxsplit+1
من العناصر على الأكثر.
في حال عدم تحديد قيمة المعامل maxsplit
أو كانت قيمته -1
، فلن يكون هناك حدّ لعمليات التقسيم (ستجري الدالة جميع عمليات التقسيم الممكنة).
sep
يحدّد هذا المعامل الفاصل الذي ستعتمده الدالة في تقسيم السلسلة النصية. في حال تحديد قيمة هذا المعامل لن تُجمّع الفواصل المتتابعة مع بعضها البعض وستعدّ فواصل للسلاسل الفارغة.
يمكن أن يتكوّن المعامل sep
من حروف متعددة.
القيمة المعادة
تعيد الدالة قائمة من السلاسل النصية.
يؤدي تطبيق الدالة split()
على سلسلة نصية فارغة إلى إعادة القيمة ['']
.
في حال عدم تحديد قيمة المعامل sep
أو إعطائه القيمة None
، ستنفّذ الدالة الخوارزمية التالية لإجراء عملية التقسيم:
تعدّ مجموعة من المسافات البيضاء بمثابة فاصل واحد، وتكون النتيجة المعادة خالية من السلاسل النصية الفارغة في البداية أو في النهاية إن كانت السلسلة النصية الأصلية تتضمن مسافات بيضاء في نهايتها أو بدايتها.
وبناء على ذلك فإنّ نتيجة تقسيم سلسلة نصية فارغة أو تتضمن مسافات بيضاء فقط باستخدام الفاصل None
هي قائمة فارغة []
.
أمثلة
يوضّح المثال التالي طرقًا مختلفة لاستخدام الدالة split()
والنتائج المعادة منها:
>>> '1,,2'.split(',')
['1', '', '2']
>>> '1<>2<>3'.split('<>')
['1', '2', '3']
>>> '1,2,3'.split(',')
['1', '2', '3']
>>> '1,2,3'.split(',', maxsplit=1)
['1', '2,3']
>>> '1,2,,3,'.split(',')
['1', '2', '', '3', '']
>>> '1 2 3'.split()
['1', '2', '3']
>>> '1 2 3'.split(maxsplit=1)
['1', '2 3']
>>> ' 1 2 3 '.split()
['1', '2', '3']