Adam Ebrahim نشر 10 يونيو 2021 أرسل تقرير نشر 10 يونيو 2021 لدي قائمتين بالشكل التالي: keys = ['x', 'y', 'z'] values = ['abc', 123, True] ما هي أسهل طريقة لإنتاج القاموس التالي من خلال القوائم السابقة؟ {'x': 'abc', 'y': 123, 'z': True} 1 اقتباس
2 Wael Aljamal نشر 10 يونيو 2021 أرسل تقرير نشر 10 يونيو 2021 يمكننا استخدام دالتين مساعدتين zip و dict بالشكل التالي: keys = ['x', 'y', 'z'] values = ['abc', 123, True] zip_iterator = zip(keys, values) # تعيد pairs of elements dictionary = dict(zip_iterator) # تحويل لقاموس print(dictionary) 3 اقتباس
0 عبدالباسط ابراهيم نشر 11 يونيو 2021 أرسل تقرير نشر 11 يونيو 2021 في حالة أن ال keys أكثر من ال values يمكنك استخدام ال itertools.zip_longest حتى يمكنك استخدام ال fillvalue لتحديد قيمة لل values المتبقية كالتالي from itertools import zip_longest x =[1, 2, 3, 4, 5, 6, 7] y =[8, 9, 10] z = list(zip_longest(x, y, fillvalue ='_' )) print(z) #output #[(1, 8), (2, 9), (3, 10), (4, '-'), (5, '-'), (6, '-'), (7, '-' )] 1 اقتباس
0 عبدالله عبدالرحمن11 نشر 11 يونيو 2021 أرسل تقرير نشر 11 يونيو 2021 هناك دائماً عدة طرق لعمل أي شيء في البرمجة ، وهناك طرق سهلة وأخرى صعبة يمكنك إستخدام zip و dict أو zip_longest أو بكل بساطة يمكنك إنشاء دالة بنفسك لعمل ذلك كالآتي #تحويل قائميتن الى قاموس #بإستخدام حلقة # تعريف القوائم test_keys = ["Rash", "Kil", "Varsha"] test_values = [1, 4, 5] # طباعة القائمتين المفاتيح والقيم print ("قائمة المفاتيح : " + str(test_keys)) print ("قائمة القيم: " + str(test_values)) # إستخدام حلقة لتحويل القوائم الى قاموس res = {} for key in test_keys: for value in test_values: res[key] = value test_values.remove(value) break # Printing resultant dictionary print ("القاموس الجديد : " + str(res)) اقتباس
السؤال
Adam Ebrahim
لدي قائمتين بالشكل التالي:
ما هي أسهل طريقة لإنتاج القاموس التالي من خلال القوائم السابقة؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.