| تفاوت dict و list و tuple |
| ساختار داده در پایتون |
| مقایسه mutable و immutable |
لیستها، تاپلها و دیکشنریها ساختارهای کلیدی برای ذخیره و مدیریت دادهها در پایتون هستند.
هر کدام ویژگیهای خاصی دارند که در موقعیتهای مختلف قابل استفادهاند؛ از مجموعههای ترتیبی تا دادههای نگاشتی.
مقایسه ساختار و تعریف هر نوع دادهای
نوع داده | نمونه تعریف | نحوه ساختار |
لیست | [1, "apple", True] | ترتیبدار، قابلتغییر |
تاپل | (1, "apple", True) | ترتیبدار، غیرقابلتغییر |
دیکشنری | {"name": "Ali", "age": 30} | نگاشتی، بر پایهٔ کلید–مقدار |
جدول تفاوتهای عملکردی
ویژگی | لیست | تاپل | دیکشنری |
قابلیت تغییر (Mutable) | ✅ | ❌ | ✅ |
نوع ایندکسدهی | عدد (۰،۱،۲,...) | عدد | کلید سفارشی |
قابلیت مرتبسازی | ✅ (sort) | ❌ (باید تبدیل شود) | ❌ مستقیم امکانپذیر نیست |
حفظ ترتیب درج | ✅ | ✅ | ✅ (از نسخه ۳.۷ به بعد) |
قابلیت تودرتو بودن | ✅ | ✅ | ✅ |
کاربرد معمول | ذخیره و پردازش توالی داده | دادههای ثابت و امن | مدیریت اطلاعات نگاشتی (مانند پروفایل) |
نمونه کاربردی و تفاوت در دسترسی به دادهها
html
my_list = ["apple", "banana", "cherry"]
my_tuple = ("apple", "banana", "cherry")
my_dict = {"fruit1": "apple", "fruit2": "banana"}
print(my_list[0]) # دسترسی با ایندکس عددی
print(my_tuple[1]) # مانند لیست، اما غیرقابل تغییر
print(my_dict["fruit2"])# دسترسی با کلید
نتیجهگیری
هر یک از این ساختارها برای هدف خاصی طراحی شدهاند:
اگر به مجموعهای قابل تغییر و پیمایش نیاز دارید، لیست بهترین گزینه است.
اگر دادهها باید ثابت بمانند، از تاپل استفاده کنید.
اگر میخواهید اطلاعات را بر اساس کلید ذخیره و بازیابی کنید، دیکشنری کاربردیترین ابزار است.
درک تفاوت این ساختارها، برنامهنویسی پایتونی را تمیزتر، بهینهتر و قابل نگهداریتر میکند.
اگه دوست داشتی، مقالهی بعدی رو درباره Set در پایتون و تفاوتش با لیست و تاپل برات مینویسم.