تقنية

splitlines في بايثون: هل نهاية النص تضيف عنصرًا فارغًا؟

للنص m ثم فاصلين: splitlines عنصران، وsplit ثلاثة.
نهاية السطر والعناصر.

splitlines لا تضيف عنصرًا فارغًا بسبب فاصل الأسطر الأخير وحده. [1]

الخلاصة السريعة

فاصل LF الأخير يعطي عنصرًا إضافيًا مع split("\n")، بخلاف splitlines(). [1]

  • splitlines لا تضيف عنصرًا فارغًا بسبب فاصل الأسطر الأخير وحده. [1]
  • الرمز \n فاصل LF؛ splitlines() الافتراضية لا تحتفظ بفواصل الأسطر. [1]
  • مثال مؤلف شُغّل على CPython 3.12.14: s="m\n\n"؛ s.splitlines() تعطي ["m",""]، عنصرين. [1]
  • s.split("\n") تعطي ["m","",""]، ثلاثة عناصر؛ السطر الفارغ الداخلي محفوظ في النتيجتين. [1]
  • للنص الفارغ: splitlines() تعطي []، وsplit("\n") تعطي [""]. [1]

الفاصل الأخير

splitlines لا تضيف عنصرًا فارغًا بسبب فاصل الأسطر الأخير وحده. [1]

الفاصل والخيار

الرمز \n فاصل LF؛ splitlines() الافتراضية لا تحتفظ بفواصل الأسطر. [1]

عنصران

مثال مؤلف شُغّل على CPython 3.12.14: s="m\n\n"؛ s.splitlines() تعطي ["m",""]، عنصرين. [1]

s.splitlines() -> ["m",""] [1]

للنص الفارغ: splitlines قائمة فارغة، وsplit عنصر فارغ.
قائمة فارغة أم عنصر فارغ؟

ثلاثة عناصر والنص الفارغ

s.split("\n") تعطي ["m","",""]، ثلاثة عناصر؛ السطر الفارغ الداخلي محفوظ في النتيجتين. [1]

s.split("\n") -> ["m","",""] [1]

للنص الفارغ: splitlines() تعطي []، وsplit("\n") تعطي [""]. [1]

المراجع

  1. Python — splitlines وsplit

للتوسع: فاصل CSV.

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