كيفية تحويل قائمة إلى مجموعة في بايثون

رجل أعمال يستخدم الكمبيوتر المحمول في المكتب

يمكنك تحويل قائمة إلى مجموعة في بايثون.

حقوق الصورة: Poike / iStock / GettyImages

تحتوي كل من القوائم والمجموعات في Python على مجموعات من العناصر ، ولكن هناك اختلافات مهمة بين الاثنين. على وجه الخصوص ، تعتبر المجموعات مفيدة لأداء مجموعة واسعة من العمليات مثل النقابات والتقاطعات ، في حين أن القوائم لديها عدد أقل من العمليات الحسابية ولكنها مفيدة للبحث عن عناصر محددة - خاصة مع العناصر المكررة - والتنظيم البيانات. لأسباب عديدة ، قد تحتاج إلى تحويل قائمة إلى مجموعة في Python ، وهناك وظيفة بسيطة يمكنك استخدامها للقيام بذلك.

شرح قوائم ومجموعات بايثون

يتمثل الاختلاف الأكثر أهمية بين القائمة والمجموعة في Python في أن القائمة يمكن أن تحتوي على عناصر مكررة ، بينما تحتوي المجموعة على عناصر فريدة فقط. على سبيل المثال ، إذا كانت لديك قائمة من نتائج الاختبارات التي تم تحديدها على أنها "الدرجات = [14 ، 20 ، 13 ، 20 ، 15] ،" فإن القائمة يخبرك بكل قيمة ، ولكن إذا قمت بتحويلها إلى مجموعة ، فإنه يزيل التكرار ويترك {14 ، 20 ، 13, 15}.

فيديو اليوم

الفرق الآخر هو أن الأقواس المربعة تستخدم للقوائم ، بينما الأقواس المتعرجة تستخدم للمجموعات. الأمور معقدة بعض الشيء بسبب حقيقة أن قاموس بايثون يستخدم أيضًا أقواس معقوفة ، ولكن هناك كل عنصر يتكون من القيمة نفسها و "مفتاح" مفصول بنقطتين.

من المهم أن تتذكر أنه يمكنك استخدام سلاسل أو أعداد صحيحة أو عوامات أو كائنات أخرى كجزء من مجموعة أو قائمة ، ويمكن أيضًا دمجها في نفس المجموعة أو القائمة. لذلك ، تمامًا كما يمكنك الحصول على مجموعة من الأرقام في Python ، يمكنك أيضًا إنشاء مجموعة Python من السلاسل.

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

عملية تحويل قائمة إلى مجموعة في بايثون عملية مباشرة. أولاً ، أنت تحدد القائمة بطريقة تكون منطقية للمعلومات الواردة فيها. على سبيل المثال ، لنفترض أنك تريد تحديد قائمة بالأسماء ، يمكنك الكتابة أسماء = ['Lee'، 'Mike'، 'Jamie'، 'Mike'، 'Sarah'] الإشارة إلى الأقواس المربعة وعلامات الاقتباس حول السلاسل (الأسماء) والفاصلات التي تفصل بين كل إدخال.

لتحويل هذه القائمة إلى مجموعة ، يمكنك استخدام الأمر تعيين()، حيث تضع اسم القائمة التي تريد تحويلها بين الأقواس. لذلك ، في هذه الحالة ، يمكنك الكتابة مجموعة (أسماء) لتحويل الأسماء في القائمة إلى مجموعة ، ويمكنك تخصيص متغير لها مثل "uniquenames" وعرض النتيجة باستخدام طباعة (أسماء فريدة)، وهو ما يعادل وظيفيًا طباعة (مجموعة (أسماء)) لكن إتقانا. أنت تؤكد أن هذا قد تم بشكل صحيح من خلال ملاحظة أن النتيجة تستخدم أقواسًا متعرجة ، وأن "مايك" يتم تضمينها مرة واحدة فقط.

يبدو الرمز بالكامل كما يلي:

أسماء = ['Lee'، 'Mike'، 'Jamie'، 'Mike'، 'Sarah']

uniquenames = مجموعة (أسماء)

طباعة ("أسماء فريدة:" ، أسماء فريدة)

في هذه الحالة ، تمت إضافة "الأسماء الفريدة:" إلى الإخراج لأغراض العرض.

Python: اضبط على قائمة التحويل

يمكنك أيضًا تشغيل نفس التحويل في الاتجاه المعاكس ، والعملية هي نفسها بشكل أساسي ، باستثناء أنك تستخدم ملف قائمة() الأمر على مجموعة بدلاً من العكس. هذا يعني أنك بحاجة إلى مجموعة لتبدأ بها ، والتي يمكنك تحديدها بسهولة عن طريق اختيار متغير مثل "big_set" ثم إضافة المحتويات ، مفصولة بفواصل وفي أقواس متعرجة. يمكنك الكتابة big_set = {1، 3، 4، 5، 7، 8، 9، 11، 12، 14، 15، 17} لتحديد مجموعة من الأعداد الصحيحة أو أي قيم أخرى.

لتحويل هذا إلى قائمة ، يمكنك تحديد متغير (على سبيل المثال ، "big_list") واستخدام قائمة() الأمر ، لذا تكتب شيئًا مثل قائمة كبيرة = قائمة (مجموعة كبيرة) وثم طباعة (قائمة كبيرة) لعرض النتيجة. إذن الكود الكامل هو:

big_set = {1، 3، 4، 5، 7، 8، 9، 11، 12، 14، 15، 17}

قائمة كبيرة = قائمة (مجموعة كبيرة)

طباعة (قائمة كبيرة)

لا تعطي هذه الحالة اسمًا للقائمة ، لذا فهي تعرض القائمة فقط. لاحظ أنه إذا قمت بتحويل قائمة إلى مجموعة ثم عادت مرة أخرى ، فستفقد أي قيم متكررة في التحويل الأول ، ولن تعود مرة أخرى.