• 0

كيف أنشئ Set من مجموعة Sets في بايثون؟

أريد إنشاء Set تتكون من مجموعة من Set لكن كلما استخدم دالة add لفعل ذلك أحصل على خطأ من نوع:

TypeError: unhashable type: 'set'

فما سبب هذه المشكلة؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

المشكلة أنك استخدمت دالة add ولكن في بايثون تعتبر كائنات set الداخلية قابلة للتغيير (mutable)، ولحل هذه المشكلة أنصحك باستخدام دالة frozenset للـ sets الداخلية.
ولفعل ذلك، لنفترض أن لديك القوائم التالية وتريد تحويلها إلى set من مجموعة sets:

tab = [[5, 4, 5], [1, 2], [], [1, 9, 5], [1, 2, 3, 4]]

فيمكنك تحويلها بكل سهولة عن طريق استخدام هذا السطر:

tab1 = set(frozenset(i) for i in tab)

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن