اذهب إلى المحتوى

السؤال

نشر

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

Recommended Posts

  • 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')

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...