پایتون, طراحی سایت و برنامه نویسی, مقالات

مقایسه لیست، تاپل، ست و دیکشنری در پایتون

مقایسه لیست، تاپل، ست و دیکشنری در پایتون

مقایسه لیست، تاپل، ست و دیکشنری در پایتون مقایسه لیست، تاپل، ست و دیکشنری در پایتون مقایسه لیست، تاپل، ست و دیکشنری در پایتون توابع پیشرفته پایتون توابع پیشرفته پایتون توابع پیشرفته پایتون توابع پیشرفته پایتون توابع پیشرفته پایتون توابع پیشرفته پایتون آموزش توابع پایتون آموزش توابع پایتون آموزش توابع پایتون آموزش توابع پایتون آموزش توابع پایتون آموزش توابع پایتون آموزش توابع پایتون آموزش لیست و دیکشنری در پایتون آموزش لیست و دیکشنری در پایتون آموزش لیست و دیکشنری در پایتون آموزش لیست و دیکشنری در پایتون آموزش لیست و دیکشنری در پایتون آموزش لیست و دیکشنری در پایتون آموزش لیست و دیکشنری در پایتون آموزش برنامه نویسی آموزش برنامه نویسی آموزش برنامه نویسی آموزش برنامه نویسی آموزش برنامه نویسی آموزش برنامه نویسی آموزش برنامه نویسی

 

 

لیست و دیکشنری در پایتون

زبان‌های برنامه نویسی علاوه بر پشتیبانی از داده‌های مختلف، ساختاری آسان برای تعریف هر کدام از انواع داده پیاده‌سازی کرده است.

توابع پیشرفته پایتون آموزش لیست و دیکشنری در پایتون آموزش برنامه نویسی

انواع نوع دیتا در پایتون که در مورد آن ها توضیح خواهیم داد (لیست و دیکشنری در پایتون)

در تصویر بالا انواع داده مورد استفاده در پایتون ذکر شده است که ما از بین انواع فوق در این پست چهار نوع زیر را بررسی خواهیم کرد

1- نوع داده List:

لیست در پایتون یکی از پر کاربردترین نوع داده‌ای است که تقریباً در تمام برنامه‌های خود از آن استفاده می‌کنیم. اگر بتوانیم در کار با لیست پایتون به

مهارت کافی برسیم، روند برنامه نویسی ما سرعت بیشتری خواهد گرفت. همچنین خواهیم توانست کارهای بعضاً خارق العاده‌ای انجام دهیم! در این مقاله به بررسی نوع داده List در پایتون، آموزش کار با آن، توابع مهم و تکنیک‌های کاربردی کار با لیست خواهیم پرداخت.

لیست یک ساختمان داده مهم در پایتون است. به کمک لیست‌ها می‌توانیم دنباله‌ای از داده‌ها را در یک متغیر ذخیره کرده و روی آن‌ها عملیات‌های مختلفی را اجرا کنیم.

لیست شامل مجموعه‌ای از عناصر به صورت ترتیبی و قابل تغییر است. لیست در پایتون با کروشه (براکت یا bracket) به شکل [] مشخص می‌شود؛ به طوری که با علامت کروشه باز ] لیست آغاز شده و تا علامت کروشه بسته [ ادامه می‌یابد.

هر عنصر درون لیست به وسیله کاما (ویرگول انگلیسی یا comma) به شکل , از یکدیگر جدا شده و می‌تواند از هر نوع داده دلخواهی باشد.

lst = ["Omid", 217, 22.5, "SabzDnaesh"]

در یک خط کد بالا، یک لیست با نام lst ایجاد کرده‌ایم. سپس درون  آن چهار مقدار با نوع داده‌ای مختلف قرار داده‌ایم.

**مقایسه لیست، تاپل، ست و دیکشنری در پایتون**


شروع دوره جدید برنامه نویسی ++C در مرکز آموزش راهکار


کاربرد لیست

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

مزیت لیست‌ها در پایتون این است که به سادگی تعریف شده، اعضای آن اضافه یا کم می‌شوند. همچنین اعمال بین لیست‌ها بسیار ساده و سریع است. در ادامه توابع و تکنیک‌هایی به شما معرفی می‌کنیم که به راحتی هر بلایی که خواستید سر لیست‌ها در بیاورید!

 

 

دسترسی به اعضای لیست در پایتون

دسترسی به اعضای لیست بر اساس اندیس‌های آن صورت می‌گیرد. اندیس‌ها اعدادی هستند که موقعیت هر عنصر در لیست را مشخص می‌کنند.

 

اولین عنصر یک لیست دارای اندیس صفر (0) و به طور کلی nاُمین عنصر دارای اندیس n-1 خواهد بود.

اندیس لیست (ایندکس یا نمایه)

فرض کنید یک لیست از اسامی افراد مختلف را درون لیست خود داریم.

 

lst = ["sara", "omid", "amir", "roya" ,"ehsan"]

برای دسترسی به هر عنصر از لیست، با داشتن موقعیت یا اندیس آن عنصر و آوردن اندیس در جلوی نام متغیر لیست، به عنصر مورد نظرمان دسترسی خواهیم داشت.

**مقایسه لیست، تاپل، ست و دیکشنری در پایتون**

یعنی قطعه کد زیر به ما عنصری که در اندیس شماره 3 قرار دارد با خروجی می‌دهد؛ یعنی چهارمین عنصر در لیست که معادل roya است.

lst[3]

به همین سادگی خواهیم توانست به تمام عناصر درون یک لیست دسترسی پیدا کنیم.

اندیس منفی لیست در پایتون

زبان برنامه نویسی پایتون تعریف اندیس برای اعضای یک لیست را امکان‌پذیر کرده است. به این‌صورت که آخرین عنصر هر لیست دارای اندیس -1، عنصر یکی مانده به آخر -2 و همینطور تا عنصر اول…

به کمک اندیس منفی در پایتون می‌توانیم به عناصر یک لیست از انتهای آن دسترسی داشته باشیم.

به طور کلی اندیس‌های عناصر یک لیست در پایتون به صورتی که در تصویر زیر مشخص شده در نظر گرفته می‌شوند.

توابع پیشرفته پایتون آموزش لیست و دیکشنری در پایتون آموزش برنامه نویسی

ساختار های اولیه پایتون برای دیتا های مورد نظرمان (لیست و دیکشنری در پایتون)

نابراین برای چاپ اسم ehsan در لیست مفروض خود، کدی شبیه به کد زیر خواهیم داشت.

print( lst[-1] )
# Output: ehsan

 

دسترسی به بخشی از لیست (برش زدن List)

یکی از ویژگی‌ها و قابلیت‌های جذاب لیست‌ها در پایتون، توانایی برش زدن لیست یا Slicing است.

بگذارید این موضوع را همراه با یک مثال برایتان توضیح دهم. فرض کنید لیست زیر را در برنامه خود ایجاد کرده‌ایم.

lst = ['s', 'a', 'b', 'z', 'd', 'a', 'n', 'e', 's', 'h']

یک لیست با اندازه 10. اگر بخواهیم فقط به بخشی از این لیست دسترسی داشته باشیم باید چگونه عمل کنیم؟

ویژگی slicing یا برش زدن list این امکان را به ما می‌دهد که فقط به بخشی از یک لیست دسترسی داشته باشیم.

 

————————————————————————————————

شروع دوره جدید برنامه نویسی پایتون در مرکز آموزش راهکار

————————————————————————————————

 

دسترسی به لیست با تعریف بازه اندیس

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

lst[3:7]
# Output: ['z', 'd', 'a', 'n']

در قطعه کد بالا، عناصری که اندیس آن‌ها در بازه 3 تا 7 بود به ما برگردانده شد. توجه کنید که بازه اندیس‌ها چگونه تعریف شده است:

اگر بازه به صورت i:j تعریف شود، این تعریف شامل عنصر i تا عنصر j-1 خواهد شد و عنصر j در فراخوانی آورده نمی‌شود.

اگر هر یک از کران بازه را مشخص نکنیم، به طور پیش‌فرض تا انتهای آن را در نظر خواهد گرفت. یعنی برای فراخوانی اعضای لیست از عنصر دوم به بعد به صورت زیر عمل می‌کنیم.

lst[2:]
# Output:
# ['b', 'z', 'd', 'a', 'n', 'e', 's', 'h']

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

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

lst[:-2]
# Output:
# ['s', 'a', 'b', 'z', 'd', 'a', 'n', 'e']

در اینجا تمام عناصر موجود در لیست را از ابتدای آن تا به دو تا مانده به آخری (اندیس -2) را فراخوانی کرده‌ایم.

**مقایسه لیست، تاپل، ست و دیکشنری در پایتون**

 

 

2- نوع داده Set:

مجموعه (Set) در پایتون، مجموعه‌ای نامرتب از انواع داده است که قابل تکرار و قابل تغییر بوده و هیچ عضوی در آن تکراری نیست. ترتیب عناصر در یک مجموعه تعریف ‌نشده است، هر چند ممکن است از عناصر مختلفی تشکیل شده باشد.

مهم‌ترین مزیت مجموعه در پایتون نسبت به لیست، روش بسیار بهینه‌سازی شده‌ی آن، برای بررسی بودن یا نبودن عنصری خاص در مجموعه است.

مجموعه‌ها را می‌توان با استفاده از تابع ()set، با قرار دادن یک شی قابل تکرار در آن یا قرار دادن دنباله‌ای از عناصر داخل براکت {} که با ویرگول از هم جدا شده‌اند، ایجاد کرد.

نکته: یک مجموعه نمی‌تواند عناصر قابل تغییر مانند لیست، مجموعه و یا دیکشنری را به عنوان عناصر خود داشته باشد.

myset = {5, 6, 9 , 3, 4, 5 , 3}
print(myset)

یک مجموعه فقط عناصر غیرتکراری را در خود نگه می‌دارد، هر چند می‌توان در زمان ایجاد مجموعه، عناصر تکراری را نیز به آن اضافه کرد. ترتیب عناصر در یک مجموعه، تعریف‌نشده و غیر‌قابل‌تغییر است. عناصر در مجموعه، می‌توانند از هر نوع داده باشند و نیاز به یکسان بودن نوع داده‌ی عناصر نیست.

 

3- نوع داده Dictionary:

 

دیکشنری (Dictionary) در پایتون، مجموعه‌ای غیرمرتب از مقادیری داده است، که هر عنصر آن دارای یک کلید و یک مقدار می‌باشد. بر خلاف دیگر انواع داده که تنها یک مقدار واحد را به عنوان یک عنصر ذخیره می‌کنند، دیکشنری مقادیر را به صورت جفت، کلید:مقدار (key:value) ذخیره می‌کند. این کلید-مقدار در دیکشنری برای این طراحی شده تا آن را بهینه‌تر کند.

**مقایسه لیست، تاپل، ست و دیکشنری در پایتون**

در پایتون، می‌توان با قرار دادن توالی عناصر که با ویرگول از هم جدا شده‌اند، در داخل یک براکت {}، یک دیکشنری ایجاد کرد. دیکشنری دارای یک عنصر جفتی بوده که یکی کلید (Key) و دیگری مقدار (Value) داده شده به آن کلید است. در دیکشنری، مقادیر می‌توانند از هر نوع داده و حتی تکراری باشند، اما کلیدها باید تغییرناپذیر و غیرتکراری باشند.

Dict = {1: 'Rahkar', 2: 'Computer', 3: 'Academy'}
print(Dict)

در پایتون می‌توان با استفاده از تابع ()dict و یا استفاده از براکت {} خالی، یک دیکشنری خالی ایجاد کرد.

Dict = {}
print("Empty Dictionary: ")
print(Dict)

اضافه کردن عناصر به دیکشنری

در دیکشنری پایتون، اضافه کردن عنصر جدید به چندین روش مختلف امکان‌پذیر است. در هر زمان می‌توان با تعریف یک مقدار به همراه یک کلید، عنصر جدیدی به دیکشنری اضافه کرد. به عنوان مثال:

Dict[Key] = ‘Value’

 

 


شروع دوره جدید برنامه نویسی سی شارپ در مرکز آموزش راهکار


 

4- نوع داده Tuple:

تاپل در پایتون، بسیار شبیه به لیست (List) است و مقادیر ذخیره ‌شده در آن همانند لیست، می‌تواند از هر نوع داده باشد. برای پیمایش یک تاپل، می‌توان با استفاده از اعداد صحیح آن را نمایه (Index) کرد.

**مقایسه لیست، تاپل، ست و دیکشنری در پایتون**

توالی مقادیر یک تاپل با ویرگول (,) از هم جدا می‌شوند. به طور معمول، تاپل داخل یک پرانتز ایجاد می‌شود، هر چند این کار بدون پرانتز نیز امکان‌پذیر است. داشتن پرانتز سبب می‌شود، تاپل پایتون، بهتر و آسان‌تر درک شود.

Tuple1 = ('amir', 'reza', 15, 'bahram', 3.14)

تاپل‌ها تغییرناپذیر (Immutable) و به طور معمول، حاوی دنباله‌ای از عناصر ناهمگن (متفاوت) هستند که از طریق نمایه کردن یا بسته‌بندی (Unpacking) می‌توان به آن‌ها دسترسی پیدا کرد. لیست‌ها بر خلاف تاپل‌ها، قابل تغییر (Mutable) هستند و به طور معمول، عناصر آن‌ها همگن (مشابه) است.

Tuple1 = ("Rahkar", "Computer", "Academy")
a, b, c = Tuple1
print("\nValues after unpacking: ")
print(a)
print(b)
print(c)

 

چسباندن تاپل‌ها به هم

چسباندن یا اتصال تاپل (Concatenation of tuple) فرآیند پیوستن دو یا چند تاپل به هم است. با استفاده از عملگر حسابی “+” می‌توان تاپل‌ها را به هم متصل کرد؛ اما سایر عملگرهای حسابی در تاپل کاربردی ندارد. همیشه اتصال تاپل‌ها از انتهای تاپل اصلی انجام می‌پذیرد.

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

Tuple1 = (0, 1, 2, 3)
Tuple2 = ('Rahkar', 'Computer', 'Academy')
Tuple3 = Tuple1 + Tuple2
print(Tuple3)

برش زدن یک تاپل

برش زدن (Slicing) یک تاپل برای بیرون کشیدن محدوده‌ی خاصی از آن یا برش عناصر فرعی آن انجام می‌پذیرد. همچنین برش زدن می‌تواند برای لیست‌ها نیز انجام شود. نمایه کردن در یک لیست، فقط یک عنصر را بیرون می‌کشد در صورتی که برش زدن، اجازه‌ی بیرون کشیدن مجموعه‌ای از عناصر را می‌دهد.

**مقایسه لیست، تاپل، ست و دیکشنری در پایتون**

 

نکته: می‌توان برای به دست آوردن وارونه‌ی توالی یک تاپل، از مقادیر منفی استفاده کرد.

Tuple1 = tuple(‘rahkar01.ir’)

print(Tuple1[3:])       # output:        (‘k’, ‘a’, ‘r’, ‘0’, ‘1’, ‘.’, ‘i’, ‘r’)
Tuple1 = tuple(‘rahkar01.ir’)

print(Tuple1[::-1])     # output:        (‘r’, ‘i’, ‘.’, ‘1’, ‘0’, ‘r’, ‘a’, ‘k’, ‘h’, ‘a’, ‘r’)

حذف تاپل

به دلیل تغییرناپذیر بودن تاپل‌ها، پایتون اجازه‌ی حذف قسمتی از تاپل را نمی‌دهد و فقط با استفاده از متد ()del می‌توان کل تاپل را حذف کرد.

نکته: چاپ کردن یک تاپل بعد از حذف با متد ()del، باعث ایجاد خطا می‌شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *