سوال شماره 4735 چندگزینه‌ای
آزمون رایگان پایتون فنی و حرفه ای
کدام یک از عبارات زیر به درستی مفهوم 'List Comprehension' را در پایتون نمایش می‌دهد و اعداد زبین 0 تا 9 را تولید می‌کند؟

گزینه‌ها:

  • 1. [for x in range(10): if x % 2 == 0]
  • 2. [x for x in range(10) if x % 2 == 0] ✓ صحیح
  • 3. [x if x % 2 == 0 for x in range(10)]
  • 4. [x while x < 10 if x % 2 == 0]

پاسخ صحیح:

  • [x for x in range(10) if x % 2 == 0]

توضیحات:

گزینه اول صحیح است زیرا سینتکس List Comprehension در پایتون به صورت [expression for item in iterable if condition] نوشته می‌شود. در این عبارت: range(10) اعداد 0 تا 9 تولید می‌کند، شرط if x % 2 == 0 فقط اعداد زوج را انتخاب می‌کند، و expression ساده x مقدار هر عدد زوج را برمی‌گرداند. گزینه دوم سینتکس نادرست دارد (ترتیب اشتباه)، گزینه سوم از کولن استفاده کرده که در List Comprehension مجاز نیست، و گزینه چهارم از while استفاده کرده که در این ساختار معتبر نمی‌باشد.