TheBrain نشر 24 ديسمبر 2015 أرسل تقرير نشر 24 ديسمبر 2015 أريد أن أمرر هذا القاموس { k1: v1, k2: v2 ... } وأريد الحصول على { k1: f(v1), k2: f(v2) ... } حيث أن f هي دالة.فهل هنالك دالة معينة للقيام بذلك؟ أريد القيام بشيء مثل هذا:dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()]) اقتباس
0 هشام رزق الله نشر 24 ديسمبر 2015 أرسل تقرير نشر 24 ديسمبر 2015 لا توجد دالة في لغة بايثون للدوران حول القيم في القاموس، لكن أسهل طريقة لفعل ذلك هي استخدام طريقة "تفهيم القاموس" (dict comprehension) كما في المثال التالي:my_dictionary = {k: f(v) for k, v in my_dictionary.items()} في الإصدار 2.7 من بايثون استخدم iteritems() بدلا من items() لتوفير الذاكرة، كما أن صياغة "تفهيم القاموس" لم تعرف حتى الإصدار 2.7 من بايثون.لا توجد كذلك دالة في لغة بايثون للدوران في القائمة لذلك يمكنك في هذه الحالة استخدام map().مثال لاستخدام map() مع المثال السابق:my_dictionary = dict(map(lambda (k,v): (k, f(v)), my_dictionary.iteritems())) اقتباس
السؤال
TheBrain
أريد أن أمرر هذا القاموس { k1: v1, k2: v2 ... } وأريد الحصول على { k1: f(v1), k2: f(v2) ... } حيث أن f هي دالة.
فهل هنالك دالة معينة للقيام بذلك؟ أريد القيام بشيء مثل هذا:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.