English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
المجموعات في بايثون تشبهالقائمةالفرق بينهما أنه، بمجرد تخصيص الزوج، لا يمكن تغيير عناصره، بينما يمكن تغيير العناصر في القائمة.
يتم إنشاء الزوج من خلال وضع جميع العناصر (العناصر) داخل أقواس () (مفصولة بالمحطة) . يمكن أن تكون الأقواس اختيارية، ولكن، يعتبر استخدام الأقواس عادة جيدة.
الزوج يمكن أن يحتوي على أي عدد من العناصر، ويمكن أن يكون لديها أنواع مختلفة (العدد، عدد عشري، قائمة،النصالخ.)
يمكن أيضًا إنشاء تuple دون استخدام أقواس. يُسمى هذا بـ 'طيبة التuple'.
إنشاء تuple يحتوي على عنصر واحد
يكون إنشاء تuple يحتوي على عنصر واحد خاصًا قليلاً. سنحتاج إلى استخدام علامة الفصل المنتهية بالكومياء لتحديد أن هذا في الواقع هو تuple.
my_tuple = ("hello") print(type(my_tuple)) # <class 'str'> # إنشاء تuple يحتوي على عنصر واحد my_tuple = ("hello",) print(type(my_tuple)) # <class 'tuple'> # يمكن تجنب استخدام الأقواس my_tuple = "hello", print(type(my_tuple)) # <class 'tuple'>
يمكننا الوصول إلى عناصر التuple بطرق متعددة.
يمكننا استخدام عمليات التبويب [] لاستخراج العناصر من التuple من البداية.
لذلك، سيكون التuple الذي يحتوي على 6 عناصر لديه من 0 إلى 5.
يجب أن يكون التبويب من عدد صحيح؛ لذلك لا يمكننا استخدام العدد العشري أو أي نوع آخر. إذا تم استخدامه، سيؤدي إلى TypeError.
بالمثل، يمكنك الوصول إلى التuple المدمج باستخدام التبويب المتعدد، كما هو موضح في المثال أدناه.
my_tuple = ('p', 'e', 'r', 'm', 'i', 't') print(my_tuple[0]) # 'p' print(my_tuple[5]) # 't' # IndexError: مؤشر القائمة خارج النطاق # print(my_tuple[6]) # يجب أن يكون مؤشر القائمة من عدد صحيح # TypeError: يجب أن يكون مؤشر القائمة من عدد صحيح وليس من عدد عشري # my_tuple[2.0] # التuple المدمج n_tuple = ('mouse', [8, 4, 6], (1, 2, 3)) # التبويب المتعدد print(n_tuple[0][3]) # 's' print(n_tuple[1][1]) # 4
يسمح باختبار السلسلة بشكل سالب.
السطر -1 يمثل العنصر الأخير، السطر -2 يمثل العنصر الثاني الأخير، وهكذا.
my_tuple = ('p', 'e', 'r', 'm', 'i', 't') # خروج: 't' print(my_tuple[-1]) # خروج: 'p' print(my_tuple[-6])
يمكننا استخدام عمليات التقسيم بالسطر المائتين ':' لاستخراج سلسلة من العناصر من التuple.
my_tuple = ('p','r','o','g','r','a','m','i','z') # العناصر من الرقم 2 إلى الرقم 4 # خروج: ('r', 'o', 'g') print(my_tuple[1:4]) # من البداية إلى العنصر الثاني # الناتج: ('p', 'r') print(my_tuple[:-7]) # العنصر الثامن إلى النهاية # الناتج: ('i', 'z') print(my_tuple[7:]) # العناصر من البداية إلى النهاية # الناتج: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z') print(my_tuple[:])
من خلال النظر في الفواصل بين الأنماط، يمكننا التفكير في القطع بشكل أفضل، مثلما هو موضح أدناه. لذلك، إذا كنت ترغب في الوصول إلى نطاق، فإنك بحاجة إلى تحديد مؤشرات القطع من المجموعة.
مختلف عن القوائم، المجموعات غير قابلة للتغيير.
هذا يعني أنه بمجرد توزيع عناصر المجموعة لا يمكن تغييرها. ولكن إذا كان العنصر نفسه نوع بيانات قابل للتغيير (مثل القائمة)، فيمكن تغيير عناصره المدمجة.
يمكننا أيضًا إعادة توزيع المجموعة إلى قيم مختلفة (إعادة التوزيع).
my_tuple = (4, 2, 3, [6, 5]) # خطأ في النوع: لا يدعم مكون المجموعة توزيع العنصر # my_tuple[1] = 9 # ولكن يمكن تغيير عناصر العناصر القابلة للتغيير my_tuple[3][0] = 9 # Output: (4, 2, 3, [9, 5]) print(my_tuple) # يمكن إعادة توزيع المجموعة my_tuple = ('p','r','o','g','r','a','m','i','z') # الناتج: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z') print(my_tuple)
يمكننا استخدام عمودي + لدمج مجموعتين. ويُسمى أيضًات串联.
يمكننا أيضًا استخدام عمودي *، لجعل عناصر المجموعةتكرارعدد المرات المحدد
بغض النظر عن العمليات + و *، فإنها ستؤدي إلى سجلات جديدة.
# ت串联 # الناتج: (1, 2, 3, 4, 5, 6) print((1, 2, 3) + (4, 5, 6)) # تكرار # الناتج: ('Repeat', 'Repeat', 'Repeat') print(("Repeat",) * 3)
كما ذكرت سابقًا، لا يمكننا تعديل عناصر المجموعة. هذا يعني أيضًا أننا لا يمكننا حذف أو تعديل العناصر في المجموعة.
لكن يمكنك استخدام الكلمة المفتاحيةdelحذف المجموعة بالكامل.
my_tuple = ('p','r','o','g','r','a','m','i','z') # لا يمكن حذف العنصر # خطأ في النوع: لا يدعم مكون المجموعة إزالة العنصر # del my_tuple[3] # يمكن حذف المجموعة بالكامل del my_tuple # خطأ في الاسم: لم يتم تعريف الاسم "my_tuple" print(my_tuple)
لا يقدم التكوينات أي طريقة لإضافة العناصر أو حذف العناصر. يمكن استخدام الطرق التالية فقط.
الطريقة | الوصف |
---|---|
count(x) | العودة إلى عدد العناصرx |
index(x) | العودة إلىxالنص الأولي للنص |
بعض الأمثلة على طرق التكوينات بيونتيك
my_tuple = ('a','p','p','l','e',) print(my_tuple.count('p')) # Output: 2 print(my_tuple.index('l')) # Output: 3
يمكننا استخدام الكلمة المفتاحية in لاختبار ما إذا كانت العنصر موجودة في التكوين.
my_tuple = ('a','p','p','l','e',) # استخدام عمليات وجود # الإخراج: True print('a' in my_tuple) # الإخراج: False print('b' in my_tuple) # استخدام عمليات عدم وجود # الإخراج: True print('g' not in my_tuple)
يمكننا استخدام دائرة التكرار للمرور عبر كل عنصر في التكوين.
# الإخراج: # مرحبًا John # مرحبًا Kate for name in ('John','Kate'): print("مرحبًا", name)
بما أن التكوينات تشبه القوائم بشكل كبير، فإنها تستخدم في نفس المواقف.
لكن لديها بعض المزايا عند تحقيق التكوينات في القوائم. إليك بعض المزايا الرئيسية المذكورة أدناه:
نحن نستخدم عادة التكوينات لتنوع البيانات (مختلفة) وتستخدم القوائم للبيانات المماثلة (مماثلة).
بما أن التكوينات غير القابلة للتغيير، فإن استدعاء التكوينات أسرع من استخدام القوائم. لذلك، هناك تحسين بسيط في الأداء.
يمكن استخدام التكوينات التي تحتوي على عناصر غير قابلة للتغيير كأصابع قواميس. هذا غير ممكن للقوائم.
إذا كانت لديك بيانات غير قابلة للتغيير، فإن تحويلها إلى تكوين سيساعد في حمايتها من التغيير.