مراجعة الحلول: الإيجابيات والسلبيات
قم بمراجعة الحل الخاص بتمرين "الارتفاعات والانخفاضات".
سنغطي ما يلي...
سنغطي ما يلي...
We’ll discuss two solutions to this problem.
Solution 1: Using filter
and lambda
Let’s explore the first solution to the problem of highs and lows:
Press + to interact
def count_low_high(num_list):if (len(num_list)==0):return Nonehigh_list = list(filter(lambda n: n > 50 or n % 3 == 0, num_list))low_list = list(filter(lambda n: n <= 50 and not n % 3 == 0, num_list))return [len(low_list), len(high_list)]num_list = [20, 9, 51, 81, 50, 42, 77]print(count_low_high(num_list))
توضيح
فيما يلي شرح سطرًا بسطر للكود الخاص بالمشكلة من الأعلى إلى الأسفل:
السطر 1: يحدد دالة تسمى
count_low_high
تأخذ وسيطة واحدةnum_list
، والتي من المتوقع أن تكون عبارة عن قائمة من الأرقام.السطر 2: يتحقق مما إذا كان طول
num_list
يساوي صفرًا، مما يعني أن القائمة فارغة.السطر 3: إذا كانت القائمة فارغة، تقوم الدالة بإرجاع
None
.السطر 4: ينشئ قائمة تسمى
high_list
عن طريق تصفية العناصر فيnum_list
...