سوال شماره 4751 چندگزینه‌ای
آزمون رایگان پایتون فنی و حرفه ای
کدام یک از عبارات زیر برای ایجاد یک دیکشنری با استفاده از comprehension صحیح است و مقادیر کلیدها را به توان دو می‌رساند؟

گزینه‌ها:

  • 1. (x: x**2 for x in range(5))
  • 2. [x: x**2 for x in range(5)]
  • 3. {x, x**2 for x in range(5)}
  • 4. {x: x**2 for x in range(5)} ✓ صحیح

پاسخ صحیح:

  • {x: x**2 for x in range(5)}

توضیحات:

گزینه اول صحیح است زیرا سینتکس dictionary comprehension در پایتون به صورت {key: value for item in iterable} می‌باشد. در این عبارت، برای هر عدد x در بازه ۰ تا ۴ (range(5))، یک جفت کلید-مقدار ایجاد می‌شود که کلید برابر با خود عدد و مقدار برابر با مربع آن عدد است. گزینه دوم نادرست است چون از براکت استفاده کرده که مربوط به list comprehension می‌شود. گزینه سوم نادرست است چون از پرانتز استفاده کرده که مربوط به generator expression می‌شود. گزینه چهارم نیز نادرست است چون از ویرگول بین key و value استفاده کرده که سینتکس صحیحی نیست.