تقنية

combinations في بايثون: هل القيم المتساوية تمنع تكرار الزوج؟

القيم: (2,2)، (2,5)، (2,5)؛ ثلاث نتائج.
ثلاث نتائج.

combinations تميز العناصر بمواضعها؛ تساوي القيم لا يدمج موضعين في عنصر واحد. [1]

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

لا؛ الزوج (2,5) يظهر مرتين في مثالنا. [1]

  • combinations تميز العناصر بمواضعها؛ تساوي القيم لا يدمج موضعين في عنصر واحد. [1]
  • على CPython 3.12.14، data=[2,2,5]؛ نختار عنصرين لكل نتيجة. [1]
  • الناتج [(2,2),(2,5),(2,5)]؛ ثلاث نتائج، رغم تساوي الزوجين الأخيرين بالقيمة. [1]
  • أزواج المواضع [(0,1),(0,2),(1,2)]؛ الزوجان الأخيران يربطان موضعين مختلفين للقيمة 2 بموضع القيمة 5. [1]
  • تحكم بقيم متميزة [2,5]: الناتج [(2,5)] فقط؛ المدخل الأصلي لم يتغير؛ الدالة لا تزيل تكرار القيم هنا. [1]

القيمة والموضع

combinations تميز العناصر بمواضعها؛ تساوي القيم لا يدمج موضعين في عنصر واحد. [1]

مدخل بثلاثة مواضع

على CPython 3.12.14، data=[2,2,5]؛ نختار عنصرين لكل نتيجة. [1]

أزواج متساوية بالقيمة

الناتج [(2,2),(2,5),(2,5)]؛ ثلاث نتائج، رغم تساوي الزوجين الأخيرين بالقيمة. [1]

from itertools import combinations data=[2,2,5] print(list(combinations(data,2))) [1]

المواضع: (0,1)، (0,2)، (1,2).
ثلاثة أزواج مواضع.

تفسير المواضع والتحكم

أزواج المواضع [(0,1),(0,2),(1,2)]؛ الزوجان الأخيران يربطان موضعين مختلفين للقيمة 2 بموضع القيمة 5. [1]

print(list(combinations(range(len(data)),2))) print(list(combinations([2,5],2))) [1]

تحكم بقيم متميزة [2,5]: الناتج [(2,5)] فقط؛ المدخل الأصلي لم يتغير؛ الدالة لا تزيل تكرار القيم هنا. [1]

المراجع

  1. Python combinations

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

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