الصف هو تسلسل غير قابل للتغيير، ولا يمكن تغيير محتوياته. الصف عبارة عن تسلسلات تشبه القوائم، والفرق الرئيسي هو أنه بعد إنشاء الصف، لا يمكن إضافة العناصر الموجودة بداخله أو حذفها.
الشكل العام للtuple هو :
(1،2،3،4،5،6)
الفرق بينها وبين بنية القائمة هو أنها تستخدم الأقواس '()'، ويتم فصل كل عنصر بـ '،'. يمكن للصفوف أيضًا تخزين الأعداد الصحيحة والسلاسل والقوائم وأنواع أخرى من المحتوى.
الخلق يمكن أن يتخذ أشكالا عديدة.
إنشاء صف فارغ هو نفس إنشاء القائمة، وبناء الجملة هو:
my_tuple=()
دعونا نلقي نظرة على مثال:
my_tuple=()#إنشاء طباعة صفية فارغة(my_tuple)#طباعة الإخراج('نوع البيانات', اكتب(my_tuple))#انظر إلى نوعه
نتيجة الإخراج:
()نوع البيانات<class'tuple'>
تعد طريقة تعيين القيم لإنشاء الصفوف بسيطة نسبيًا أيضًا، ومن السهل جدًا أن يتعلم الجميع ما يلي بعد التعرف على القائمة.
تنسيق بناء الجملة للتخصيص المباشر:
my_tuple=(value1,value2,value3,value4,value5)
my_tuple هو اسم القائمة، ويمكن أن يكون كل عنصر في القيمة 1~value5 بايت عددًا صحيحًا أو سلسلة أو قائمة، راجع المثال التالي:
my_tuple=('www.dotcpp.com','123456',[1,2,3,4,5,6])#إنشاء صف وتعيينه مباشرةً print(my_tuple)#Output
نتيجة الإخراج:
('www.dotcpp.com','123456',[1,2,3,4,5])
باستخدام الدالة range() يمكننا إنشاء صفوف بحجم بيانات معين. انظر إلى المثال التالي:
my_tuple=tuple(range(1,100,3))#range(1,100,3) ينشئ تسلسلًا بحجم خطوة 3 بين 1-100، ويستخدم أخيرًا tuple() لإرساله إلى نوع tuple print(my_tuple)# الإخراج
الإخراج هو:
(1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73 ،76،79،82،85،88،91،94،97)
طريقة حذف المجموعات هي نفس طريقة القوائم استخدم عبارة del للحذف مباشرة.
delmy_tuple
على سبيل المثال:
>>>my_tuple=tuple(range(1,100,3))#range(1,100,3) ينشئ تسلسلًا بحجم خطوة 3 بين 1-100، ويستخدم أخيرًا tuple() لتحويله إلى نوع tuple >>> > delmy_tuple#Delete Yuanzu >>>print (my_tuple)# إذا قمت بإخراجه في هذا الوقت، فسيتم الإبلاغ عن خطأ Traceback(mostrecentcallllast):File<stdin>,line1,in<module>NameError:name'my_tuple'isnotتعريف
عندما نصل إلى عناصر الصف، نجد أيضًا العنصر الذي نريد الوصول إليه بناءً على موضع الفهرس.
نقوم أولاً بإنشاء صف my_tuple = ('a','b','c','d')
ثم ألق نظرة على الكود:
my_tuple=('a','b','c','d')print(my_tuple[0],my_tuple[1],my_tuple[2],my_tuple[3])
نتيجة الإخراج:
اي بي سي دي
ألق نظرة على الجدول المقابل:
نظرًا لأن الصف عبارة عن مصفوفة غير قابلة للتغيير، فلا يمكننا تعديل عناصرها. إذا قمنا بتعديلها مباشرة من خلال قيمة الفهرس في شكل قائمة، فستظهر رسالة خطأ.
>>>my_tuple=(1,2,3,4,5,6)>>>my_tuple[2]=6Traceback(mostrecentcallllast):ملف<stdin>,line1,in<module>TypeError:'tuple'objectdoesnotsupportitemsignment
لذا، إذا أردنا تعديل العناصر الموجودة في الصف، فيجب علينا استخدام طرق أخرى. عادةً ما يتم استخدام طريقتين، إحداهما هي طريقة إعادة التعيين والأخرى هي طريقة تحويل النوع.
>>>mytuple=(11,22,33,44,55,66,77)>>>mytuple=(1,2,3)>>>mytuple(1,2,3)
يمكن لطريقة الكتابة الفوقية هذه تعديل العناصر الموجودة في الصف بسهولة. بالطبع، نطاق استخدام هذه الطريقة محدود، لذا يمكننا استخدام الطريقة الثانية في معظم الحالات.
إذا كنت ترغب في تعديل العنصر رقم 100 من المجموعة، فسيكون استخدام الطريقة المذكورة أعلاه أمرًا مزعجًا للغاية، لذلك يمكنك استخدام تحويل النوع أولاً لتحويل المجموعة إلى أنواع بيانات أخرى، مثل التحويل إلى قائمة تحويل تعمل كقائمة.
انظر إلى المثال التالي:
my_tuple=(1,2,3,4,5,6)# قم أولاً بإنشاء صف my_tuple=list(my_tuple)# تحويل الصف إلى نموذج قائمة print(my_tuple,type(my_tuple))# انظر إلى الإخراج الآن البيانات و اكتب my_tuple.insert(3,'Insert new element')#أدخل ضمن نوع القائمة إدراج عناصر الصف أو تغييرها أو حذفها my_tuple[3]=['تغيير العناصر']my_tuple.pop()#حذف العناصر، يقوم pop() تلقائيًا بحذف العنصر الأخير، وهو العنصر المقابل 6my_tuple=tuple(my_tuple)# تم تحويله أخيرًا إلى نموذج صفي print(my_tuple,type(my_tuple))#print
نتيجة الإخراج:
[1,2,3,4,5,6]<class'list'>(1,2,3,['تغيير العناصر'],4,5)<class'tuple'>
تفتقر الصفوف إلى بعض الوظائف مقارنة بالقوائم، لكن الصفوف لها أيضًا ميزاتها الفريدة. أولاً وقبل كل شيء، يكون أداء الصفوف مرتفعًا نسبيًا، ومعدل معالجة الصفوف أسرع من أداء القوائم. ثانيًا، يكون ذلك آمنًا للغاية حجم البيانات كبير، وعندما يكون كبيرًا، فإن استخدام الصفوف يمكن أن يضمن عدم تعديل بياناتك، مما يضمن الأمان، وهو خيار جيد من حيث التخزين.