منتديات رحيل لكل العرب

منتديات رحيل لكل العرب (https://r7il.com/vb/)
-   قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress (https://r7il.com/vb/f20/)
-   -   دوال التعامل مع tuple (https://r7il.com/vb/t1510/)

مهرة النجدية 01-03-2019 09:56 AM

دوال التعامل مع tuple
 
دوال التعامل مع tuple
هنالك دوال مُضمَّنة في لغة بايثون للتعامل مع بنى tuple، لننظر إلى بعضها.

len()‎
وكما في السلاسل النصية والقوائم، يمكننا حساب طول (أو عدد عناصر) بنية tuple باستخدام الدالة len()‎ حيث نُمرِّر إليها بنية tuple كمعامل (parameter)، كما يلي:

len(coral)
هذه الدالة مفيدة إذا أردنا أن نَضمَن أنَّ لبنية tuple عدد عناصر معيّن، فمثلًا يمكننا الاستفادة من ذلك بمقارنة بنيتين مع بعضهما.
إذا أردنا طباعة عدد عناصر kelp و numbers، فسيظهر الناتج الآتي:

print(len(kelp))
print(len(numbers))
الناتج:

4
13
الناتج أعلاه يشير إلى أنَّ للبنية kelp أربعة عناصر:

kelp = ('wakame', 'alaria', 'deep-sea tangle', 'macrocystis')
أما البنية numbers فتملك ثلاثة عشر عنصرًا:

numbers = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
وصحيحٌ أنَّ هذه الأمثلة عناصرها قليلة نسبيًا، إلا أنَّ الدالة len()‎ تستطيع أن تخبرنا بعدد عناصر بنى tuple الكبيرة.

الدالتان max()‎ و min()‎
عندما نتعامل مع بنى tuple مكوَّنة من عناصر رقمية (بما فيها الأعداد الصحيحة والأرقام ذات الفاصلة العشرية)، فيمكننا استخدام الدالتين max()‎ و min()‎ للعثور على أكبر وأصغر قيمة موجودة في بنية tuple معيّنة.
تسمح لنا هاتان الدالتان باستخراج معلومات تخص البيانات القابلة للإحصاء، مثل نتائج الامتحانات أو درجات الحرارة أو أسعار المنتجات …إلخ.
لننظر إلى بنية tuple مكونة من أعداد عشرية:

more_numbers = (11.13, 34.87, 95.59, 82.49, 42.73, 11.12, 95.57)
للحصول على القيمة العظمى من بين القيم الآتية فعلينا تمرير بنية tuple إلى الدالة max()‎ كما في max(more_numbers)، وسنستخدم الدالة print()‎ لعرض الناتج:

print(max(more_numbers))
95.59
أعادت الدالة max()‎ أعلى قيمة في بنية more_numbers.
وبشكلٍ شبيهٍ بما سبق نستخدم الدالة min()‎:

print(min(more_numbers))
11.12
أُعيدَ هنا أصغر رقم عشري موجودة في البنية.
يمكن الاستفادة من الدالتين max()‎ و min()‎ كثيرًا للتعامل مع بنى tuple التي تحتوي الكثير من القيم.

كيف تختلف بنى tuple عن القوائم (list)
الفرق الرئيسي بين tuple و list هو عدم القدرة على تعديلها، وهذا يعني أنَّنا لا نستطيع إضافة أو حذف أو استبدال العناصر داخل بنية tuple.
لكن يمكننا إضافة بنيتَي tuple أو أكثر إلى بعضها بعضًا لتشكيل بنية جديدة كما رأينا في أحد الأقسام السابقة.
لتكن لدينا البنية coral الآتية:

coral = ('blue coral', 'staghorn coral', 'pillar coral', 'elkhorn coral')
لنقل أننا نريد استبدال العنصر 'blue coral' ووضع العنصر 'black coral' بدلًا منه. فلو حاولنا تغيير بنية tuple بنفس الطريقة التي نُعدِّل فيها القوائم بكتابة:

coral[0] = 'black coral'
فستظهر رسالة خطأ كالآتية:

TypeError: 'tuple' object does not support item assignment
وذلك بسبب عدم إمكانية تعديل بنى tuple.
إذا أنشأنا بنية tuple ثم قررنا أنَّ ما نحتاج له هو بنية list، فيمكننا تحويلها إلى قائمة list، وذلك بالدالة list()‎:

list(coral)
أصبحت بنية coral قائمةً الآن:

coral = ['blue coral', 'staghorn coral', 'pillar coral']
يمكننا أن نلاحظ أنَّ بنية tuple تحوَّلتَ إلى قائمة list لأنَّ الأقواس المحيطة بالقيم أصبح مربعة الشكل.
وبشكلٍ شبيهٍ بما سبق، نستطيع تحويل القوائم من النوع list إلى tuple باستخدام الدالة tuple()‎.


نوع البيانات tuple هو مجموعةٌ من البيانات المتسلسلة التي لا يمكن تعديلها، ويوفِّر تحسينًا في أداء برامجك لأنه أسرع معالجةً من القوائم في بايثون. وعندما يراجع الآخرون شيفرتك فسيعلمون من استخدامك لبنى tuple أنك لا تريد تعديل هذه القيم.
شرحنا في هذا الدرس الميزات الأساسية لبنى tuple بما في ذلك الفهارس وتقطيعها وتجميعها، وعرضنا بعض الدوال المُضمَّنة المتوافرة لهذا النوع من البيانات.


الساعة الآن 07:57 AM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2010, Crawlability, Inc. TranZ By Almuhajir

Security team