تقنية

fromkeys في بايثون: هل تنشئ قائمة مستقلة لكل مفتاح؟

الإضافة إلى قائمة r تظهر أيضًا عند b؛ هوية القيمتين مشتركة.
القيمة المشتركة.

fromkeys تربط المفاتيح بقيمة واحدة؛ القائمة الممررة مشتركة. [1]

الخلاصة السريعة

المفاتيح المختلفة لا تعني قوائم مختلفة. [1]

  • fromkeys تربط المفاتيح بقيمة واحدة؛ القائمة الممررة مشتركة. [1]
  • القاموس جديد؛ [] الممررة ليست قائمة مستقلة لكل مفتاح. [1]
  • مثال مؤلف على CPython 3.12.14: keys=["r","b"]؛ d=dict.fromkeys(keys,[])؛ d["r"] is d["b"] تعطي True. [1]
  • بعد d["r"].append(5)، كلتا القيمتين [5]؛ الإضافة عبر مفتاح تظهر عبر الآخر. [1]
  • مع i={k:[] for k in keys}، إضافة 5 إلى i["r"] تبقي i["b"] فارغة؛ القائمتان مختلفتان. [1]

قيمة واحدة

fromkeys تربط المفاتيح بقيمة واحدة؛ القائمة الممررة مشتركة. [1]

الجديد والمشترك

القاموس جديد؛ [] الممررة ليست قائمة مستقلة لكل مفتاح. [1]

المفتاحان والهوية

مثال مؤلف على CPython 3.12.14: keys=["r","b"]؛ d=dict.fromkeys(keys,[])؛ d["r"] is d["b"] تعطي True. [1]

d["r"] is d["b"] -> True [1]

قائمة مستقلة لكل مفتاح: r تحتوي 5، وb فارغة.
قوائم مستقلة.

الإضافة والقوائم المستقلة

بعد d["r"].append(5)، كلتا القيمتين [5]؛ الإضافة عبر مفتاح تظهر عبر الآخر. [1]

d["r"],d["b"] -> ([5],[5]) [1]

مع i={k:[] for k in keys}، إضافة 5 إلى i["r"] تبقي i["b"] فارغة؛ القائمتان مختلفتان. [1]

المراجع

  1. Python — fromkeys

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.