Python وظيفة len(): كيفية العثور على طول السلسلة
⚡ ملخص ذكي
Python len() هي دالة مدمجة تُرجع عدد العناصر في كائن، مثل الأحرف في سلسلة نصية أو العناصر في قائمة أو صف أو قاموس أو مجموعة.

ما هو Python دالة len()؟
استخدم لين () الدالة هي دالة مدمجة في Pythonيمكنك استخدام الدالة len() للحصول على طول سلسلة نصية، أو مصفوفة، أو قائمة، أو صف، أو قاموس، أو أي كائن آخر. ولأن عدد العناصر يُخزَّن في الكائن نفسه بدلاً من إعادة حسابه في كل مرة، فإن len() تساعدك على التحقق من الحجم بسرعة وتحسين أداء برنامجك.
بناء الجملة لـ Python وظيفة لين ().
استخدم Python تستخدم الدالة len() الصيغة التالية:
len(value)
المعاملات
القيمة: الكائن المعطى - مثل سلسلة نصية أو قائمة أو صف أو قاموس أو مجموعة - الذي تريد قياس طوله.
قيمة الإرجاع
تُعيد الدالة len() عددًا صحيحًا، أي عدد الأحرف في سلسلة نصية أو عدد العناصر في مصفوفة أو قائمة أو مجموعة. ويختلف المعنى الدقيق للقيمة المُعادة باختلاف نوع الكائن المُمرر إليها.
- سلاسل: تقوم الدالة len() بإرجاع عدد الأحرف في السلسلة، بما في ذلك علامات الترقيم والمسافات وكل أنواع الأحرف الخاصة.
- فارغة: السلسلة الفارغة أو المجموعة الفارغة تُرجع 0، لأنها لا تحتوي على أي عناصر.
- مجموعات: تقوم الدالة المدمجة len() بإرجاع عدد العناصر المخزنة في مجموعة.
- خطأ مطبعي: تعتمد الدالة len() على نوع الكائن المُمرر إليها. تمرير قيمة ليس لها طول، مثل عدد صحيح، سيؤدي إلى ظهور خطأ من نوع TypeError.
- قاموس: بالنسبة للقاموس، يتم احتساب كل زوج من المفتاح والقيمة كوحدة واحدة، لذا فإن الدالة len() تُرجع عدد المفاتيح.
أمثلة على Python وظيفة لين ().
توضح الأمثلة التالية كيفية استخدام الدالة len() لإيجاد طول سلاسل نصية مختلفة Python الكائنات، بما في ذلك السلسلة النصية، والقائمة، والصف، والقاموس، والمصفوفة.
مثال 1: كيفية إيجاد طول خيط
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
الإخراج:
The length of the string is : 35
مثال 2: كيفية إيجاد طول قائمة
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
الإخراج:
The length of the list is 4
مثال 3: كيفية إيجاد طول مجموعة مرتبة
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
الإخراج:
The length of the tuple is 3
مثال 4: كيفية إيجاد طول القاموس
# to find the length of the Dictionary
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("The length of the Dictionary is", len(Dict))
الإخراج:
The length of the Dictionary is 4
مثال 5: كيفية إيجاد طول المصفوفة
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
الإخراج:
The length of the Array is 4
كيفية إيجاد طول سلسلة نصية بدون استخدام الدالة len() Python
تُعدّ دالة len() أسرع وأسهل طريقة لقياس طول سلسلة نصية، ولكن يمكنك أيضًا عدّ الأحرف يدويًا. هذا تمرين شائع في مقابلات البرمجة، وكل دالة تقوم ببساطة بالمرور على السلسلة النصية مع زيادة عداد.
يستخدم النهج الأكثر شيوعًا حلقة تكرارية (for loop):
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
الإخراج:
The length is 6
يستخدم خيار أقصر دالة sum() مع تعبير مولد، حيث يضيف 1 لكل حرف في السلسلة:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
الإخراج:
The length is 6
تتضمن الطرق الأخرى لحساب عدد الأحرف بدون استخدام الدالة len() ما يلي:
- حلقة تكرارية تقوم بتقطيع السلسلة حتى تصبح فارغة، مع زيادة عداد في كل دورة.
- الدالة enumerate()، التي tracks هو فهرس كل حرف أثناء تكراره.
- دالة تكرارية تُرجع 1 زائد طول السلسلة الفرعية المتبقية.
تُعدّ هذه الطرق اليدوية أبطأ من دالة len() المدمجة، لذا يُنصح باستخدامها فقط للتعلم أو التدريب على المقابلات. أما في البرمجة اليومية، فتبقى دالة len() الخيار الأسرع والأكثر وضوحًا.
كيف يمكن لل Python هل تعمل دالة len() داخليًا؟
إن فهم كيفية عمل الدالة len() يفسر سبب سرعتها الفائقة. عند استدعاء الدالة len() على كائن، Python لا يقوم بفحص كل عنصر على حدة. بدلاً من ذلك، يستدعي الدالة الخاصة بالكائن __len__()، مما يعني أن التعبير len(x) مكافئ لـ x.__len__().
تخزن الحاويات المدمجة مثل السلاسل النصية والقوائم والصفوف والقواميس والمجموعات حجمها كخاصية. في كل مرة تضيف فيها عنصرًا أو تزيله، Python يقوم هذا الإجراء بتحديث هذا العدد المخزن. عند استدعاء الدالة len()، فإنه ببساطة يقرأ تلك القيمة المخزنة مسبقًا ويعيدها.
بما أن طول الكائن معروف مسبقًا، فإن دالة len() تعمل في زمن ثابت، يُكتب O(1). يستغرق الأمر نفس الوقت سواءً احتوى الكائن على خمسة عناصر أو خمسة ملايين عنصر. يمكنك أيضًا إضافة دعم دالة len() إلى فئاتك الخاصة عن طريق تعريف دالة __len__() تُرجع عددًا صحيحًا.
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
الإخراج:
11
هذا التصميم هو السبب في أن الدالة len() تتصرف بشكل متسق عبر كل نوع مدمج، بالإضافة إلى أي كائن مخصص يقوم بتنفيذ طريقة __len__().
" تعلم المزيد عن Python طرق السلسلة
