بايثونالدالة setdefault()
تعريفها
تستخدم للحصول على قيمة مفتاح موجود في كائن الـdict
الذي قام باستدعائها أو لإضافة عنصر جديد فيه مع إرجاع قيمته أيضاً.
بناؤها
dict.setdefault(key[, default])
باراميترات
- مكان الباراميتر
key
نمرر مفتاح العنصر الذي إن كان موجوداً في كائن الـdict
سيتم إرجاع قيمته فقط و إن لم يكن موجوداً فسيتم إضافته و إرجاع قيمته. default
هو باراميتر إختياري، مكانه يمكن تمرير قيمة أولية ليتم وضعها في العنصر في حال تم إضافته لأنه إفتراضياً إن تم إضافة عنصر جديد فإنه قيمته تكونNone
.
قيمة الإرجاع
ترجع قيمة المفتاح الذي تم تمريره لها مكان الباراميتر key
.
المثال الأول
# data يتألف من ثلاث عناصر و إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها data هنا قمنا بالحصول على قيمة العنصر الذي يملك المفتاح رقم 3 في الكائن print('Returned value:', data.setdefault(3))
النتيجة
Returned value: Reader
المثال الثاني
# data يتألف من ثلاث عناصر و إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها data هنا حاولنا الحصول على قيمة العنصر الذي يملك المفتاح رقم 4 في الكائن # None بما أنه لا يوجد فيه عنصر يملك مفتاح يساوي الرقم 4 سيتم إضافة عنصر جديد فيه مفتاحه الرقم 4 و قيمته print('Returned value:', data.setdefault(4)) # data هنا قمنا بعرض جميع العناصر الموجودة في الكائن print('data contains:', data)
النتيجة
Returned value: None
data contains: {1: 'Admin', 2: 'Editor', 3: 'Reader', 4: None}
data contains: {1: 'Admin', 2: 'Editor', 3: 'Reader', 4: None}
المثال الثالث
# data يتألف من ثلاث عناصر و إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها data هنا حاولنا الحصول على قيمة العنصر الذي يملك المفتاح رقم 4 في الكائن # 'Subscriber' بما أنه لا يوجد فيه عنصر يملك مفتاح يساوي الرقم 4 سيتم إضافة عنصر جديد فيه مفتاحه الرقم 4 و قيمته النص print('Returned value:', data.setdefault(4, 'Subscriber')) # data هنا قمنا بعرض جميع العناصر الموجودة في الكائن print('data contains:', data)
النتيجة
Returned value: Subscriber
data contains: {1: 'Admin', 2: 'Editor', 3: 'Reader', 4: 'Subscriber'}
data contains: {1: 'Admin', 2: 'Editor', 3: 'Reader', 4: 'Subscriber'}