اذهب إلى المحتوى
  • 0

كيف أحصل على عناصر ذات ترتيب معين في قائمة كبيرة في بايثون؟

المبرمج العربي

السؤال

لنفترض أن لدي قائمة كبيرة تحوي على عناصر من 0 إلى 1000، فما الطريقة الصحيحة لإنتاج قائمة من العناصر ذات ترتيب 10 مثل [0, 10, 20, 30 …] ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يوجد العديد من الطرق لفعل ذلك في بايثون، فيمكنك على سبيل المثال استخدام طريقة تشريح القائمة وتعتبر هذه الطريقة الأكثر وضوحا لكنها لا تعمل على جميع أنواع القوائم وهي ليست مناسبة للقوائم الكبيرة:

source_list[0::10]

أو يمكنك استخدام دالة islice من وحدة itertools وتعمل هذه الطريقة على جميع أنواع القوائم وهي لا تستهلك الكثير من الذاكرة لكن عيبها الوحيد أنها غير مناسبة للقوائم الضخم والخطوات الكبيرة:

itertools.islice(source_sequence, 0, None, 10)

ومن الطرق الأخرى أيضا استخدام حلقة التكرار for كما في المثال التالي:

(source_list[i] for i in xrange(0, len(source_list), 10))
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...