كيفية حذف قيمة من قاموس أثناء حلقة for
📁 بايثون, خطأ, مثال
واجهت مشكلة غير متوقعة. أثناء حلقة for على قاموس، أحتاج إلى حذف الإدخالات منه، ولكن بغض النظر عن المحاولات يظهر خطأ:
RuntimeError: dictionary changed size during iterationحاولت حتى أخذ لقطة (snapshot) من القاموس قبل التكرار والتكرار على النسخة المكررة مع الحذف من الأصل.
مثال:
>>> ot={12:'wqe',13:'wqe',14:'wqe',15:'wqe'}>>> ot1=ot>>> for i in ot1:... del ot[i]... Traceback (most recent call last): File ""<stdin>