• 0

خلط قائمه في بايثون

كيف يمكنني القيام بعملية خلط لقائمه عدديه
l=[1,2,3,4,5,6,7,8,9]

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


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

يمكننا استخدام الدالة shuffle لخلط وترتيب عناصر قائمة ما بعشوائية, ولكن هذه الدالة تابعة للمكتبة random لذلك يجب أن يتم استدعاءها قبل

import random
list = [1,2,3,4,5];
random.shuffle(list)
print ("shuffle list : ",  list)

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


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

يمكن استخدام الوظيفة shuffle من المكتبة random كالأتي:

from random import shuffle
x = [1,2,3,4,5,6,7,8,9] # تعريف القائمة
shuffle(x) # خلط القائمة
print(x)
#output :[3, 5, 7, 9, 1, 4, 8, 2, 6]

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


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

لديك دالتين للقيام بخلط القائمة تقوم بإستدعائهما من random والدالتين هما shuffle و sample

from random import shuffle
from random import sample

list = [1,2,3,4,5,6,7,8,9]

#تقوم بخلط القائمة الأصلية
shuffle(list)

# لا تقوم بتعديل القائمة الأصلية بل تقوم بإرجاع دالة مخلوطة
sample(list,len(list))

 

انشر على الشّبكات الاجتماعية


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

يمكنك أن تستخدم مكتبة random كما ذكر في الإجابات السابقة، ويمكن أيضًا إستعمال مكتبة numpy كالتالي:

import numpy as np

lst = [1,2,3,4,5,6,7,8,9]
np.random.shuffle(lst)
print(lst)

لاحظ أن الطريقة السابقة تقوم بتعديل القائمة نفسها ولا تقوم بإنشاء قائمة جديدة. لكن يمكن إستعمال دالة لإنشاء قائمة جديدة تحتوي على نفس عناصر القائمة الأصلية بترتيب عشوائي كالتالي:

import random

lst = [1,2,3,4,5,6,7,8,9]
new_lst = random.sample(lst, len(lst))
print(new_lst)

 

انشر على الشّبكات الاجتماعية


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

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن