Mapping
الدرس 2 من 9 في دورة تضمين القوائم في Python على Coddy.
دعنا نفترض أنك حصلت على قائمة من الأرقام، وتريد حساب سلسلة تحتوي على مكعبات جميع الأرقام،
nums = [1, 4, 6, 12, 3]
cubes = []
for n in nums:
cubes.append(n ** 3)
print(cubes) # [1 , 16, 36, 144, 9]باستخدام list comprehension يمكن القيام بذلك في سطر واحد،
nums = [1, 4, 6, 12, 3]
cubes = [n ** 3 for n in nums]
print(cubes) # [1 , 16, 36, 144, 9]هذا النوع من العمليات يسمى mapping (رسم الخرائط) - وهو تطبيق دالة على كل عنصر في قائمة موجودة وإنشاء قائمة جديدة تحتوي على النتائج.
إليك الصيغة البرمجية (syntax)،
lst = [expression for item in iterable]سوف يحمل lst قائمة جديدة ناتجة عن عملية list comprehension.
التحدي
سهلبناءً على قائمة من الأرقام nums، وبافتراض أن كل عنصر هو x، قم بحساب قائمة جديدة حيث يتم حساب كل عنصر باستخدام المعادلة التالية: <strong>x<sup>3</sup>+2*x<sup>2</sup>+5</strong>
قم بتخزين القائمة الجديدة في متغير يسمى new_nums.
جرّب بنفسك
nums = eval(input()) # لا تغير هذا السطر