در این پست به برخی از ساختار های داده(Data Structures) پرکاربرد پایتون می پردازیم.ساختار هایی چون Dictionary ، Tuple و البته روش تکه برداری از لیستها “List Slices“.
سین:
Dictionary در پایتون چیست؟
چگونه از Dictionary در پایتون استفاده کنیم؟
Tuple چیست و چه تفاوتی با لیست در پایتون دارد؟
جیم:
نوع داده dictionary در پایتون به شما کمک می کند لیست های با ساختار دلخواه ایجاد کنید. وقتی با لیست در پایتون کار می کنید هر داده موجود در لیست، دارای یک ایندکس خواهد بود . این ایندکس در واقع یک عدد Integer است. ساده میگم، لیست ها به صورت عددی ایندکس میشوند. هر عدد نشان دهنده یک مقدار از لیست شما است. اما اگر بخواهیم مقادیر را با چیزی بجز عدد فراخوانی کنید، به dictionary نیاز خواهیم داشت. در دنیای خودمان نیز برای پیدا کردن معنی یک کلمه در زبانی خاص، به dictionary آن زبان مراجعه میکنیم.
هر عنصر در یک dictionary به صورت “کلید: مقدار” (key:value) تعریف می شود. برای افزودن و یا تغییر یک مقدار موجود در dictionary کافی است “کلید” جدید و یا قبلی را برابر با آن مقدار قرار دهید.
زبان پایتون بسیار به زبان سطح انسان نزدیک است . شما می توانید با قرار دادن “in” یا “not in” ، یک جمله شرطی داشته باشید که “وجود” و یا “عدم وجود” یک کلید در dictionary را مشخص میکند.
سین:
List Slices چیست ؟
چگونه از List Slices در پایتون استفاده کنیم؟
جیم:
یک مفهوم پرکاربرد دیگر که به آن می پردازیم، List Slices در پایتون است که بر روی لیست ها انجام می شود. اگر لیست را به مانند یک کیک یا پیتزا یا هر خوردنی خوشمزه قابل تقسیم در نظر بگیرید، Slice یک بخش از این لیست خوش مزه است که برای خود انتخاب می کنید.
در قسمت قبلی کار با لیست روش انتخاب به صورت دو بعدی را مرور کردیم، دو براکت باز و بسته که به “بخش” خاصی از یک لیست اشاره میکرد. اگر بخواهیم “بخش های” خاصی را در یک لیست پیدا کنیم یا لیست خاصی را از یک لیست بزرگ تر استخراج کنیم، به List Slices نیاز خواهیم داشت.برای برداشت یک قسمت خوشمزه، نام لیست را در ابتدا آورده و سپس مختصات را به صورت براکت باز و بسته مشخص میکنید.
List[مقدار گام:ایندکس پایان:ایندکس شروع]
در تصویر بالا اولین پرینت داده مربوط به شروع لیست تا پایان اینکس 5 است و خود ایندکس 5 یعنی جایی که عدد 4 در آن قرار دارد نیز نمایش داده می شود. در پرینت دوم، از جایگاه 5 به بعد، هر آنچه در لیست است نمایش داده می شود ولی خود جایگاه 5ام خیر. در پرینت سوم، گام پرش بر روی 2 قرار داده می شود و داده های لیست دو گام به دو گام خوانده شده و نمایش داده می شوند. و در آخر پرینتی از این لیست List با مختصات شروع ایندکس 2 تا پایان ایندکس 8 با گام 3 وجود دارد(چرا خود 2 هم حساب شد؟).