تقنية

sample في بايثون: هل السحب دون إرجاع يمنع تكرار القيمة؟

موضعان مختلفان يحملان القيمة نفسها
موضعا المدخل، لا ترتيب السحب. [1] [2]

افصل الموضع عن القيمة. [1] [2]

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

sample تسحب دون إرجاع، لكنها لا تزيل تكرار القيم من المدخل. [1] [2]

  • للقائمة موضعان يحملان a. [1] [2]
  • نسحب عنصرين من موضعين مختلفين. [1] [2]
  • تظهر a مرتين في الناتج. [1] [2]
  • القائمة الأصلية تبقى دون تغيير. [1] [2]
  • اختبرنا 3.12.14؛ لا نعمم ترتيب النتائج أو تسلسل البذرة بين الإصدارات. [1] [2]

المثال

from random import Random
items=['a','a']
picked=Random(7).sample(items,2)
print(picked)
print(items)

[1] [2]

المخرجات: ['a', 'a'] في السطرين. [1] [2]

ما الذي لا يتكرر؟

كل ظهور في المدخل قابل للاختيار. عدم إعادة الموضع المختار لا يجعل القيمتين المتساويتين قيمة واحدة في القائمة. [1] [2]

بعد السحب نحصل على قائمة جديدة؛ لا نحذف العنصرين من items. [1] [2]

الناتج والأصل يحتويان قيمتي a
قيم نصية؛ اختصرنا علامات الاقتباس. [1] [2]

حدود المثال

هنا نسحب القائمة الصغيرة كاملة، فلا يغير ترتيب العنصرين المتساويين النص المطبوع. النتيجة ليست خوارزمية لإزالة التكرار، ولا اختبارًا لجودة العشوائية. [1] [2]

المراجع

  1. Python: random.sample
  2. CPython 3.12.14: random.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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