سوال شماره 4747
چندگزینهای
آزمون رایگان پایتون فنی و حرفه ای
کدام یک از عبارات زیر برای ایجاد یک دیکشنری با استفاده از comprehension صحیح است که کلیدها اعداد 1 تا 5 و مقادیر مربع آنها باشد؟
گزینهها:
- 1. [x**2 for x in range(1,6)]
- 2. {x: x**2 for x in range(1, 6)} ✓ صحیح
- 3. {x: x*2 for x in [1,2,3,4,5]}
- 4. dict(x=x**2 for x in range(1,6))
پاسخ صحیح:
- {x: x**2 for x in range(1, 6)}
توضیحات:
گزینه اول صحیح است زیرا از سینتکس dictionary comprehension استفاده میکود که به صورت {key: value for item in iterable} نوشته میشود. در اینجا range(1,6) اعداد 1 تا 5 را تولید میکند و برای هر عدد، کلید همان عدد و مقدار مربع آن (x**2) خواهد بود. گزینه دوم اشتباه است چون از ضرب استفاده شده نه توان، گزینه سوم یک لیست ایجاد میکند نه دیکشنری، و گزینه چهارم سینتکس نادرستی دارد.