تحويل القوائم إلى مجموعات باستخدام دالة set() في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 20 سبتمبر 2024

محتوى المقال

تحويل القوائم إلى مجموعات باستخدام دالة set() في Python

في Python، تعتبر القوائم والمجموعات أدوات شائعة لمعالجة البيانات. القوائم تُستخدم لتخزين العناصر بترتيب محدد، بينما المجموعات (sets) تُستخدم لتخزين العناصر بشكل غير مرتب ولكن بدون تكرار. في هذا المقال، سنتعرف على كيفية تحويل القوائم إلى مجموعات باستخدام دالة set()، ولماذا يمكن أن يكون هذا مفيدًا في معالجة البيانات.

ما هي المجموعات (set) في Python؟

المجموعة (set) هي نوع بيانات في Python يُستخدم لتخزين عناصر غير مرتبة وفريدة (بدون تكرار). تسمح المجموعات بالعمليات الرياضية مثل الاتحاد والتقاطع والفرق بين مجموعات البيانات. وتتمثل إحدى مزايا استخدام المجموعات في أنها تُزيل العناصر المكررة بشكل تلقائي، وهو أمر مفيد عند العمل مع بيانات قد تحتوي على تكرارات.

الصيغة العامة لدالة set()

دالة set() تُستخدم لتحويل كائن قابل للتكرار (مثل القوائم أو السلاسل النصية) إلى مجموعة. الصيغة العامة هي:

set(iterable)

حيث iterable هو كائن قابل للتكرار (مثل قائمة أو سلسلة نصية) ترغب في تحويله إلى مجموعة.

لماذا نستخدم set() لتحويل القوائم إلى مجموعات؟

إليك بعض الأسباب التي تجعل تحويل القوائم إلى مجموعات باستخدام set() أمرًا مفيدًا:

  • إزالة التكرارات: إذا كانت القائمة تحتوي على عناصر مكررة، يمكنك استخدام set() لإزالة التكرارات بسرعة.
  • العمليات الرياضية: المجموعات تدعم العمليات الرياضية مثل الاتحاد والتقاطع، مما يجعلها مفيدة عند التعامل مع مجموعات من البيانات.
  • التحقق من الانتماء: عمليات البحث عن عنصر في المجموعات أسرع بكثير مقارنة بالقوائم.

مثال على تحويل قائمة إلى مجموعة

إليك مثال بسيط يظهر كيفية تحويل قائمة تحتوي على تكرارات إلى مجموعة:

fruits = ["تفاح", "موز", "تفاح", "كرز"]
unique_fruits = set(fruits)
print(unique_fruits)

الناتج سيكون:

  • {'تفاح', 'موز', 'كرز'}

في هذا المثال، تمت إزالة التكرارات من القائمة fruits باستخدام set()، مما نتج عنه مجموعة تحتوي فقط على العناصر الفريدة.

إعادة تحويل المجموعة إلى قائمة

إذا كنت بحاجة إلى إعادة تحويل المجموعة إلى قائمة بعد إزالة التكرارات، يمكنك استخدام دالة list(). إليك كيفية القيام بذلك:

fruits = ["تفاح", "موز", "تفاح", "كرز"]
unique_fruits = set(fruits)
fruits_list = list(unique_fruits)
print(fruits_list)

الناتج سيكون:

  • ['تفاح', 'موز', 'كرز']

كما ترى، يمكنك بسهولة تحويل المجموعة الناتجة مرة أخرى إلى قائمة باستخدام list().

العمليات على المجموعات

بعد تحويل القائمة إلى مجموعة، يمكنك الاستفادة من العديد من العمليات المفيدة التي تقدمها المجموعات. إليك بعض الأمثلة:

الاتحاد بين مجموعتين

عملية الاتحاد تُستخدم للحصول على جميع العناصر الموجودة في مجموعتين. إليك مثالاً على ذلك:

set1 = {"تفاح", "موز"}
set2 = {"كرز", "تفاح"}
union_set = set1.union(set2)
print(union_set)

الناتج سيكون:

  • {'تفاح', 'موز', 'كرز'}

التقاطع بين مجموعتين

عملية التقاطع تُستخدم للحصول على العناصر المشتركة بين مجموعتين:

set1 = {"تفاح", "موز"}
set2 = {"كرز", "تفاح"}
intersection_set = set1.intersection(set2)
print(intersection_set)

الناتج سيكون:

  • {'تفاح'}

الفرق بين مجموعتين

عملية الفرق تُستخدم للحصول على العناصر الموجودة في مجموعة واحدة وليست موجودة في مجموعة أخرى:

set1 = {"تفاح", "موز"}
set2 = {"كرز", "تفاح"}
difference_set = set1.difference(set2)
print(difference_set)

الناتج سيكون:

  • {'موز'}

التعامل مع بيانات فريدة

إحدى الفوائد الرئيسية لاستخدام المجموعات هي إزالة التكرارات. عندما تكون لديك بيانات تحتوي على تكرارات وتريد الاحتفاظ فقط بالعناصر الفريدة، يمكنك ببساطة تحويل القائمة إلى مجموعة باستخدام set(). هذا يوفر الوقت والجهد مقارنة بكتابة خوارزميات مخصصة لإزالة التكرارات.

مثال على إزالة التكرارات من قائمة

إليك مثالًا على كيفية إزالة التكرارات من قائمة تحتوي على بيانات مكررة:

numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)

الناتج سيكون:

  • {1, 2, 3, 4, 5}

كما تلاحظ، تم إزالة التكرارات من القائمة numbers وأصبحت العناصر كلها فريدة.

الخلاصة

تعد دالة set() في Python أداة قوية لتحويل القوائم إلى مجموعات، مما يساعد على إزالة التكرارات والعمل مع بيانات فريدة. بفضل العمليات المتقدمة مثل الاتحاد والتقاطع والفرق، يمكنك استخدام المجموعات لتحليل ومعالجة البيانات بكفاءة أكبر. سواء كنت تحتاج إلى إزالة التكرارات أو إجراء عمليات رياضية على المجموعات، فإن set() توفر لك وسيلة بسيطة وفعالة للتعامل مع البيانات.

طور مهاراتك: مقالات يجب قراءتها في البرمجة