• 0

كيف أحصل على قيمة عشوائية من قاموس في بايثون؟

أريد الحصول على قيمة عشوائية من القيم الموجودة في القاموس، فما الطريقة الصحيحة لفعل ذلك في لغة بايثون؟

1 شخص أعجب بهذا

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


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

يمكنك ذلك بإستخدام الدالة choice من وحدة العشوائية random, وبإستخدام وسيلة method القاموس keys().
تفقد التالي:
 

>>> d={"w":2000, "r":1000, "g":5000}
>>> from random import choice
>>> print d[choice(d.keys())]
1000

 

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


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

يوجد عدة طرق في لغة بايثون لفعل ذلك، فيمكنك على سبيل المثال استخدام دالة choice من وحدة random الخاص بالأعداد العشوائية على مفاتيح القاموس وذلك باستعمال دالة keys كما في المثال التالي:

import random
d = {'a':'b', 'c':'d'}
random.choice(d.keys())

أما لو كنت تستخدم الإصدار الثالث من بايثون فيجب عليك استخدام دالة list وخلافا لذلك سيحدث خطأ عند تنفيذ الأسطر السابقة:

import random
d = {'a':'b', 'c':'d'}
random.choice(listd.keys()))

وإذا لم تكن بحاجة إلى القيم هذا القاموس فيمكنك في هذه الحالة استخدام دالة popitem التي سترجع لك قيم بترتيب معين (لكنه ليس عشوائي) كما في المثال التالي:

d = {'a':'b', 'c':'d', 'e':'f'}
d.popitem()
#('a':'b')
d.popitem()
#('e':'f')

ملاحظة: الدالة ستحذف العناصر.

1 شخص أعجب بهذا

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


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

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

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

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


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

تسجيل الدخول

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


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