ساختار داده در پایتون چیست؟ آشنایی با List، Tuple، Set و Dictionary

ساختار داده در پایتون چیست؟ آشنایی با List، Tuple، Set و Dictionary
وقتی در حال یادگیری Python هستید، خیلی زود با حجم زیادی از دادهها روبهرو میشوید؛ از نام چند کاربر گرفته تا قیمت محصولات، اطلاعات یک دانشجو یا دادههای یک فایل. سؤال مهم این است که این اطلاعات را چطور در برنامه نگهداری و مدیریت کنیم؟ اینجا مفهوم ساختار داده در پایتون اهمیت پیدا میکند.
پایتون چند ساختار داده داخلی و پرکاربرد دارد که چهار مورد از مهمترین آنها List، Tuple، Set و Dictionary هستند. هرکدام ویژگی و کاربرد متفاوتی دارند و انتخاب درست بین آنها میتواند کدنویسی را سادهتر و خواناتر کند.
اگر در ابتدای مسیر هستید، این مفاهیم بخشی از پایههایی هستند که در مسیر یادگیری پایتون از صفر باید با آنها آشنا شوید.

ساختار داده در پایتون چیست؟
ساختار داده روشی برای سازماندهی و نگهداری اطلاعات در برنامه است. در پایتون، ساختارهای داده مختلفی وجود دارند و هرکدام برای نوع خاصی از مسئله مناسبتر هستند.
برای مثال، فرض کنید میخواهید نام چند دانشجو را به ترتیب ذخیره کنید. یک List انتخاب طبیعی است. اگر اطلاعاتی دارید که نباید بعد از ایجاد مجموعه تغییر کند، Tuple میتواند گزینه مناسبی باشد. برای نگهداری مقادیر یکتا میتوان از Set استفاده کرد و وقتی هر مقدار با یک کلید مشخص مرتبط است، Dictionary کاربرد بیشتری دارد.
List در پایتون چیست؟
"List" یکی از پرکاربردترین ساختارهای داده در Python است. لیست مجموعهای مرتب از عناصر است که میتوان آن را پس از ایجاد تغییر داد.
students = ["Ali", "Sara", "Reza"]
students.append("Mina")
در این مثال، نامها داخل یک لیست قرار گرفتهاند و با "()append" میتوان عضو جدیدی به آن اضافه کرد.
List زمانی مناسب است که:
- ترتیب عناصر برایتان اهمیت دارد.
- ممکن است اطلاعات در طول اجرای برنامه تغییر کنند.
- وجود مقادیر تکراری مشکلی ایجاد نمیکند.
- میخواهید به عناصر بر اساس موقعیت یا Index دسترسی داشته باشید.
به همین دلیل، در بسیاری از برنامههای مبتدی و پروژههای واقعی، لیست یکی از اولین ساختارهایی است که با آن کار میکنید.
Tuple در پایتون چیست؟
"Tuple" از نظر ظاهری شبیه List است، اما یک تفاوت مهم دارد: Tuple پس از ایجاد قابل تغییر نیست.
point = (10, 20)
این ویژگی باعث میشود Tuple برای دادههایی که قرار است بهصورت یک مجموعه ثابت در کنار هم باقی بمانند، کاربرد داشته باشد.
برای نمونه میتوان مختصات یک نقطه، برخی تنظیمات ثابت یا مجموعهای از مقادیر را در قالب Tuple نگهداری کرد.
پس اگر بخواهیم خیلی ساده تفاوت List و Tuple را بیان کنیم:
List برای دادههای قابل تغییر و Tuple برای دادههای تغییرناپذیر مناسبتر است.
البته هر دو میتوانند ترتیب عناصر را حفظ کنند و از Index برای دسترسی به عناصر استفاده کنند. مستندات رسمی Python نیز List را ساختاری تغییرپذیر و Tuple را ساختاری تغییرناپذیر معرفی میکند.

Set در پایتون چیست؟
"Set" برای نگهداری مجموعهای از عناصر یکتا کاربرد دارد. اگر یک مقدار چند بار وارد Set شود، تکرار آن در مجموعه حفظ نمیشود.
numbers = {1, 2, 2, 3, 3}
در این حالت، Set فقط مقادیر یکتا را نگه میدارد.
یکی از کاربردهای رایج Set حذف دادههای تکراری است. همچنین میتوان از آن برای بررسی عضویت و انجام عملیات مجموعهای مانند اجتماع، اشتراک و تفاضل استفاده کرد.
نکته مهم این است که Set را نباید مانند List برای دسترسی به یک عنصر بر اساس Index در نظر گرفت؛ زیرا مفهوم اصلی آن، مجموعهای از اعضای یکتا است نه یک دنباله دارای موقعیت.
Dictionary در پایتون چیست؟
Dictionary یا "dict" برای نگهداری دادهها به شکل Key-Value استفاده میشود.
} = student
,"name": "Sara"
,age": 20"
"major": "Computer"
{
در اینجا هر اطلاعات با یک کلید مشخص مرتبط شده است. برای مثال، کلید ""name"" به مقدار ""Sara"" اشاره میکند.
Dictionary زمانی بسیار کاربردی است که به جای شماره یا موقعیت، بخواهید اطلاعات را با یک نام یا کلید مشخص پیدا کنید. در پایتون، کلیدهای یک Dictionary باید یکتا باشند، اما مقدارها میتوانند تکراری باشند.
برای مثال، اگر اطلاعات یک کاربر را ذخیره میکنید، استفاده از Dictionary معمولاً خواناتر از قرار دادن همه اطلاعات در یک List است؛ چون مشخص است هر مقدار مربوط به چه ویژگیای است.

بنابراین انتخاب ساختار داده مناسب بیشتر به نوع مسئله بستگی دارد. اگر مجموعهای مرتب و قابل تغییر میخواهید، List گزینه مناسبی است. اگر داده باید ثابت بماند، Tuple میتواند انتخاب بهتری باشد. برای دادههای یکتا، Set و برای ارتباط بین کلید و مقدار، Dictionary کاربرد دارد.
چرا یادگیری ساختارهای داده برای شروع Python مهم است؟
یادگیری Syntax بهتنهایی برای برنامهنویسی کافی نیست. وقتی برنامه شروع به کار با دادههای واقعی میکند، باید بتوانید دادهها را به شکل مناسبی سازماندهی کنید.
به همین دلیل، مفاهیمی مانند List در پایتون، Tuple، Set، Dictionary، Index، Key و Value از مباحث پایهای هستند که در مسیر آموزش برنامه نویسی پایتون بارها با آنها مواجه خواهید شد.
اگر هنوز در ابتدای مسیر هستید، بهتر است این مفاهیم را همراه با تمرین یاد بگیرید و بعد سراغ موضوعات پیچیدهتر بروید. برای شروع منظم مباحث پایه میتوانید از دوره شروع پایتون از صفر استفاده کنید و مفاهیم را مرحلهبهمرحله پیش ببرید.
جمعبندی
ساختارهای داده به برنامهنویس کمک میکنند اطلاعات را متناسب با نیاز برنامه سازماندهی و مدیریت کند. در پایتون، List، Tuple، Set و Dictionary چهار ساختار بسیار مهم و پرکاربرد هستند؛ اما هیچکدام همیشه بهترین انتخاب نیستند و بسته به نیاز باید داده ساختار مناسب را انتخاب کرد.
درک تفاوت این چهار ساختار، به شما کمک میکند هنگام نوشتن برنامه بدانید دادهها را چگونه ذخیره کنید، چگونه به آنها دسترسی داشته باشید و چه زمانی ساختار مناسبتری را انتخاب کنید. بنابراین اگر هدف شما یادگیری Python از صفر است، شناخت این چهار ساختار یکی از پایههایی است که ارزش دارد بهصورت مفهومی و همراه با تمرین یاد بگیرید.




