پرسش

ایجاد دیکشنری با استفاده از comprehension

Create a dictionary with comprehension

چطور می‌توان یک دیکشنری را با استفاده از comprehension (قابلیت درک) در پایتون ایجاد کرد؟

1403/06/02
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای ایجاد یک دیکشنری با استفاده از comprehension در پایتون، می‌توانید از ساختار کلی زیر استفاده کنید:

{key_expression: value_expression for item in iterable}

در اینجا key_expression و value_expression به ترتیب عبارات کلید و مقدار دیکشنری هستند، و iterable مجموعه‌ای از داده‌ها است که بر روی آن comprehension انجام می‌شود.

مثال ۱: دیکشنری از اعداد و مربع‌هایشان

فرض کنید می‌خواهید دیکشنری‌ای بسازید که کلیدها اعداد از ۱ تا ۵ و مقادیرشان مربع آن‌ها باشد:

squares = {x: x**2 for x in range(1, 6)}
print(squares)

خروجی این کد به صورت زیر خواهد بود:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

مثال ۲: دیکشنری از رشته‌ها و طول آن‌ها

اگر بخواهید دیکشنری‌ای بسازید که کلیدها نام‌های میوه و مقادیرشان طول نام‌های میوه‌ها باشند، می‌توانید از کد زیر استفاده کنید:

fruits = ['apple', 'banana', 'cherry']
fruit_length = {fruit: len(fruit) for fruit in fruits}
print(fruit_length)

خروجی این کد به صورت زیر خواهد بود:

{'apple': 5, 'banana': 6, 'cherry': 6}

مثال ۳: فیلتر کردن مقادیر در دیکشنری

می‌توانید از شرط‌ها نیز در comprehension استفاده کنید. برای مثال، اگر بخواهید فقط مربع‌های اعداد زوج را در دیکشنری قرار دهید، می‌توانید این کار را به صورت زیر انجام دهید:

even_squares = {x: x**2 for x in range(1, 6) if x % 2 == 0}
print(even_squares)

خروجی این کد به صورت زیر خواهد بود:

{2: 4, 4: 16}

با استفاده از comprehension، می‌توانید دیکشنری‌های متنوعی را به طور کارا و خلاصه ایجاد کنید.

پاسخ: 1403/06/02
آخرین آپدیت: 1403/07/26