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