آموزش کار با لیست در پایتون
در برنامه نویسی پایتون، لیستها ساختارهای داده بنیادی هستند که برای ذخیره دنبالههایی از انواع مختلف داده استفاده میشوند. لیست اساساً ظرفی است که میتواند عناصر یا موارد مختلفی را در خود جای دهد. مشخصه کلیدی لیستهای پایتون تغییرپذیری آنهاست که به ما امکان میدهد عناصر آنها را پس از ایجاد تغییر دهیم. لیستها با محصور کردن آیتمهای آنها در داخل کروشه [ ] و جدا کردن آنها با کاما مشخص میشوند. اگرچه پایتون شش نوع داده دیگر مانند دیکشنریها (dictionary)، مجموعهها، تاپلها (tuple) و غیره را دارد که میتوانند دنبالهها را نگهدارند، اما در این میان لیستها در پایتون بهعنوان چندمنظورهترین و رایجترین شکل مورد استفاده قرار میگیرد.
لیستهای پایتون مشابه آرایههای با قابل تغییر اندازه و پویا هستند که در زبانهای برنامه نویسی دیگر یافت میشوند. برای مثال ArrayList در جاوا و بردار در C++ بسیار شبیه به لیستها در زبان پایتون هستند. در این مطلب آموزشی از مجله مکتب خونه میخواهیم که نحوه کار با لیست در پایتون را با همدیگر مرور کنیم.
نحوه اعلان لیست در پایتون
نحوه اعلان List در پایتون به صورت زیر است:
# Creating simple lists
list1 = [1, 2, "Python", "Program", 15.9]
list2 = ["Amy", "Ryan", "Henry", "Emma"]
# Displaying the lists
print(list1)
print(list2)
# Displaying the data type of the lists
print(type(list1))
print(type(list2))
خروجی مثال بالا به صورت زیر خواهد بود:
در این قطعه کد، نحوه اعلان و کار با لیستها در پایتون نشان داده شده است. دو لیست «list1» و «list2» برای نگهداری ترکیبی از انواع دادههای مختلف مانند اعداد صحیح، رشتهها و شناورها ایجاد میشوند. سپس محتویات این لیستها را با استفاده از تابع «print()» چاپ میشود. بهعلاوه، تابع «type()» برای نشان دادن اینکه «list1» و «list2» به نوع داده «list» تعلق دارند، استفاده خواهد شد.
پیشنهاد مطالعه: آموزش کار با متغیرها در پایتون
ویژگیهای کلیدی لیست در پایتون
از مهمترین ویژگیهای لیست در پایتون میتوان به موارد زیر اشاره کرد:
- حفظ ترتیب: لیستها به طور ذاتی ترتیب عناصر خود را هنگام اضافه شدن حفظ میکنند.
- دسترسی عنصر از طریق Index یا اندیس: عناصر موجود در یک لیست با استفاده از اندیسهای مربوطه قابل دسترسی هستند.
- ماهیت قابل تغییر: لیستها قابل تغییر هستند، به این معنی که عناصر آنها پس از ایجاد قابل تغییر خواهند بود.
- مجموعه همهکاره: لیستها میتوانند طیف متنوعی از انواع دادهها را در خود جای دهند.
- توالیهای قابل تغییر: دنباله آیتمها در یک لیست را میتوان در صورت نیاز تغییر داد.
- ذخیرهسازی عناصر چندگانه: لیستها میتوانند عناصر متمایز متعددی را ذخیره کنند.
ترتیب عناصر در لیست
مثال زیر ترتیب عناصر را در لیستها در Ptyhon نشان میدهد:
a = [1, 2, "Ram", 3.50, "Rahul", 5, 6]
b = [1, 2, 5, "Ram", 3.50, "Rahul", 6]
result = a == b
print(result)
خروجی:
در این مثال، هر دو لیست شامل عناصر یکسانی هستند، اما ترتیب عنصر پنجم بین دو لیست متفاوت است. در نتیجه، ترتیب مورد نظر نقض میشود و در هنگام مقایسه این دو لیست، نتیجه «False» ایجاد خواهد شد. مثال زیر هم در این رابطه مهم است:
خروجی:
لیستها در پایتون به طور ذاتی ترتیب عناصر خود را حفظ میکنند. این در مثال دوم مشهود است، جایی که هر دو لیست «a» و «b» ساختار و ترتیب عناصر یکسانی دارند. در نتیجه، مقایسه «True» را به عنوان خروجی به ما میدهد که مجدداً تأیید میکند که لیستها مجموعههای ساختاری هستند.
پیشنهاد مطالعه: آموزش کار با پایتون در vscode به صورت قدم به قدم
مثالی از کار با لیست در پایتون
مثال زیر نحوه کار با لیست در پایتون را نشان میدهد:
# List example in detail
emp = ["John", 102, "USA"]
Dep1 = ["CS", 10]
Dep2 = ["IT", 11]
HOD_CS = [10, "Mr. Holding"]
HOD_IT = [11, "Mr. Bewon"]
print("Printing employee data ...")
print("Name: %s, ID: %d, Country: %s" % (emp[0], emp[1], emp[2]))
print("Printing departments ...")
print("Department 1:\nName: %s, ID: %d\nDepartment 2:\nName: %s, ID: %d" % (Dep1[0], Dep1[1], Dep2[0], Dep2[1]))
print("HOD Details ...")
print("CS HOD Name: %s, ID: %d" % (HOD_CS[1], HOD_CS[0]))
print("IT HOD Name: %s, ID: %d" % (HOD_IT[1], HOD_IT[0]))
print(type(emp), type(Dep1), type(Dep2), type(HOD_CS), type(HOD_IT))
خروجی مثال بالا به صورت زیر است:
در مثال کد ارائه شده، با نمایش جزئیات کارمندان و بخشها، به مفهوم لیستها میپردازیم. ما از لیستهای مختلفی مانند «emp»، «Dep1»، «Dep2»، «HOD_CS» و «HOD_IT» برای نگهداری اطلاعات مختلف استفاده میکنیم. سپس کد به چاپ کردن جزئیات مربوط به کارمند و بخش استخراج شده از این لیستها خواهد پرداخت:
توجه به چند نکته کلیدی زیر در این رابطه بسیار مهم است:
- لیستها در پایتون برای ذخیره انواع مختلف اطلاعات استفاده میشوند.
- عناصر درون لیستها با استفاده از اندیسهایی که با براکتهای مربع «[]» مشخص شدهاند، قابل دسترسی هستند.
- دادههای درون لیستها میتوانند انواع مختلفی از جمله رشتهها و اعداد داشته باشند.
- لیستها همهکاره هستند و میتوانند در داخل یکدیگر قرار بگیرند تا ساختارهای پیچیدهتری را تشکیل دهند.
- تابع «type()» تأیید میکند که همه متغیرهای این مثال از نوع داده «list» هستند.
پیشنهاد مطالعه: چگونه پایتون را شروع کنیم؟ مسیر یادگیری پایتون از مبتدی تا پیشرفته
اندیس بندی و برش در لیست های پایتون
اندیس سازی و برش دادن لیست ها در پایتون مشابه عملیات رشتهای است. براکتهای مربع «[]» برای دسترسی به عناصر استفاده میشوند و عملگر slice میتواند برای بازیابی فهرستهای فرعی استفاده شود.
- اندیسبندی: اندیس یک لیست از 0 تا طول – 1 متغیر است. عنصر در اندیس 0 اولین عنصر است، در اندیس 1 عنصر دوم و به همین منوال ادامه دارد:
- براش یا Slicing: برای به دست آوردن یک لیست فرعی از یک لیست اصلی، از دستور «list_variable[start:stop:step]» استفاده میشود.
- start: موقعیت شروع فهرست فرعی.
- stop: موقعیت پایانی فهرست فرعی.
- step: فاصله زمانی که عناصر در آن نادیده گرفته میشوند.
در اینجا مثالی برای بیان مفهوم بالا آورده شده است:
my_list = [1, 2, 3, 4, 5, 6, 7]
# Indexing
print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[3])
# Slicing
print(my_list[0:6]) # From index 0 to index 5
print(my_list[:]) # Complete list
print(my_list[2:5]) # From index 2 to index 4
print(my_list[1:6:2]) # From index 1 to index 5 with a step of 2
خروجی مثال فوق به صورت زیر است:
در مثال ارائه شده، عملیات اندیس سازی و برش را در لیستی به نام my_list نشان میدهیم. اندیس سازی عناصر جداگانه را بازیابی کرده و برش لیستهای فرعی را بر اساس مقادیر شروع، توقف و مرحله مشخص شده استخراج میکند. به خاطر داشته باشید که اندیس سازی از 0 شروع میشود و مقدار توقف در برش است، به این معنی که عنصر موجود در اندیس توقف در فهرست فرعی گنجانده نشده است.
پیشنهاد مطالعه: تمرین برنامه نویسی پایتون + سؤالات مقدماتی پایتون
اندیس بندی و برش منفی در لیستها
برخلاف بسیاری از زبانهای برنامه نویسی دیگر، پایتون مزیت اندیس سازی یا اندیس بندی منفی را ارائه میدهد که اندیسها را از سمت راست لیست میشمارد. اندیس «-1» مربوط به آخرین عنصر در سمت راست، «-2» برای عنصر دوم به آخرین در سمت راست و به همین ترتیب تا زمانی که به آخرین عنصر در سمت چپ برسیم. در ادامه مثالی وجود دارد که برای لیست در پایتون اندیس بندی و برش اعمال شده است:
# Negative indexing example
my_list = [1, 2, 3, 4, 5]
print(my_list[-1]) # Access the last element
print(my_list[-3:]) # Sub-list from index -3 to the end
print(my_list[:-1]) # Sub-list from the beginning to index -2
print(my_list[-3:-1]) # Sub-list from index -3 to index -2
خروجی مثال بالا به صورت زیر است:
در مثال ارائه شده، ما از اندیس بندی منفی برای دسترسی به عناصر لیست “my_list” استفاده میکنیم. عبارت «print» اول آخرین عنصر را بازیابی میکند، در حالی که دستورات دوم و سوم برش را با استفاده از اندیسهای منفی نشان میدهند. همچنین اعلان نهایی در مثال فوق یک زیر لیست را نشان میدهد که با استفاده از اندیسهای منفی استخراج شده است. اندیس بندی منفی نوعی ویژگی بسیار مناسب در پایتون است که دسترسی به عناصر را از انتهای لیست بدون نیاز به محاسبه صریح اندیسها آسان میکند.
بهروزرسانی و حذف عناصر لیست در python
به دلیل تغییرپذیری، لیستها را در پایتون میتوان به راحتی با استفاده از تکنیکهای مختلف بهروزرسانی و اصلاح کرد. متدهای insert و append در پایتون نیز افزودن مقادیر به لیستها را تسهیل میکنند. بیایید در زیر مثالی را بررسی کنیم که بهروزرسانی و حذف عناصر از یک لیست را نشان میدهد:
# Updating list values
my_list = [1, 2, 3, 4, 5, 6]
print(my_list)
# Updating a single element at a specific index
my_list[2] = 10
print(my_list)
# Updating multiple elements using slicing
my_list[1:3] = [89, 78]
print(my_list)
# Updating the last element
my_list[-1] = 25
print(my_list)
خروجی مثال فوق به صورت زیر است:
در مثال ارائه شده، فرآیند بهروزرسانی عناصر لیست نشان داده شده است. ما تکتک عناصر را با استفاده از اندیس بندی اصلاح میکنیم، چندین عنصر را با استفاده از برش بهروز کرده و در نهایت، آخرین عنصر را بهروزرسانی خواهیم کرد. خروجی نشان میدهد که چگونه لیست در هر بهروزرسانی تکامل مییابد. علاوه بر این، در اینجا مثالی از استفاده از کلمه کلیدی del و متد Remove() برای حذف عناصر از یک لیست آورده شده است:
# Deleting list elements
my_list = [1, 2, 3, 4, 5, 6]
print(my_list)
# Deleting elements using del keyword
del my_list[2]
print(my_list)
# Using the remove() method
my_list.remove(4)
print(my_list)
خروجی مثال فوق به صورت زیر است:
در این مثال، ما از «del» برای حذف عنصر در اندیسی خاص و از متد «remove()» برای حذف عنصر با مقداری خاص از لیست در پایتون استفاده کردیم.
پیشنهاد مطالعه: آموزش دستورات شرطی در پایتون به زبان ساده
عملیات لیست پایتون
لیستهای پایتون از عملیاتهای مختلفی مانند پیمایش، الحاق، یافتن طول، بررسی عضویت و غیره پشتیبانی میکنند که در زیر ما به همه آنها پرداختهایم:
١. تکرار یا کپی لیست ها در پایتون
عملگر تکرار (`*`) به عناصر لیست اجازه میدهد تا تعداد معینی بار کپی شوند. مثال زیر برای برای این هدف است:
# Repetition of list
list1 = [12, 14, 16, 18, 20]
# Using repetition operator *
repeated_list = list1 * 2
print(repeated_list)
خروجی کد فوق به صورت زیر است:
٢. الحاق لیست ها در پایتون
عملگر الحاق (`+`) دو لیست را در لیستی واحد ترکیب میکند که مثال زیر آن را نشان میدهد:
# Concatenation of two lists
list1 = [12, 14, 16, 18, 20]
list2 = [9, 10, 32, 54, 86]
concatenated_list = list1 + list2
print(concatenated_list)
خروجی کد فوق به صورت زیر است:
٣. طول لیست در پایتون
تابع len() طول (تعداد عناصر) لیست پایتون را برمیگرداند؛ مانند مثال زیر:
# Size of the list
list1 = [12, 14, 16, 18, 20, 23, 27, 39, 40]
list_length = len(list1)
print(list_length)
خروجی کد فوق به صورت زیر است:
٤. پیمایش لیست در پایتون
حلقه for برای پیمایش عناصر لیست در زبان پایتون استفاده میشود که مثال زیر این موضوع را بیان میکند:
# Iteration over the list
list1 = [12, 14, 16, 39, 40]
for item in list1:
print(item)
خروجی کد فوق به صورت زیر است:
٥. عضویت در لیست های پایتون
عملیات عضویت در لیستها اگر مورد خاصی در فهرست وجود داشته باشد، «True» و در غیر این صورت «False» را برمیگرداند.
# Membership of the list
list1 = [100, 200, 300, 400, 500]
# Checking membership
print(600 in list1) # False
print(700 in list1) # False
print(1040 in list1) # False
print(300 in list1) # True
print(100 in list1) # True
print(500 in list1) # True
خروجی کد فوق به صورت زیر است:
عملیات عضویت برای تعیین سریع اینکه آیا یک آیتم خاص در یک لیست وجود دارد یا خیر استفاده میشود. این عملیات نوعی ویژگی مفید برای جستجو و فیلتر کردن عناصر لیست در پایتون است. این عملیات تطبیقپذیری و کاربرد لیستها را در برنامه نویسی پایتون به نمایش میگذارد. لیستها در کل روشی انعطافپذیر برای کار با مجموعهای از دادهها را ارائه میدهند که امکان انجام کارآمد طیف وسیعی از وظایف را فراهم میکند.
پیشنهاد مطالعه: آموزش assert در پایتون به زبان ساده + مثال های عملی
پیمایش لیست در پایتون
لیستهای پایتون را میتوان با استفاده از حلقه «for» در پایتون پیمایش کرد. هر عنصر در لیست در حلقه قابل دسترسی و پردازش است.
# Iterating a list
my_list = ["John", "David", "James", "Jonathan"]
for item in my_list:
print(item)
خروجی مثال فوق به صورت زیر است:
افزودن عناصر به لیست
متد append در پایتون برای افزودن یک عنصر جدید به انتهای لیست استفاده میشود. علاوه بر این، از متد extend میتوان برای افزودن چندین عنصر به لیست استفاده کرد. مثال زیر را در نظر بگیرید، جایی که کاربر عناصر یک لیست را وارد میکند و سپس آیتمهای لیست چاپ میشوند:
# Declaring an empty list
l = []
# Number of elements to be entered by the user
n = int(input("Enter the number of elements in the list:"))
# Loop to take user input and add items to the list
for i in range(0, n):
item = input("Enter the item:")
l.append(item)
print("Printing the list items:")
# Loop to print the list items
for item in l:
print(item, end=" ")
خروجی مثال فوق به صورت زیر است:
حذف عناصر از لیست در Python
متد remove برای حذف یک عنصر خاص از یک لیست استفاده میشود.
my_list = [0, 1, 2, 3, 4]
print("Original list:", my_list)
my_list.remove(2)
print("List after removing element 2:", my_list)
خروجی مثال بالا به صورت زیر است:
در این مثال، ما نشان دادیم که چگونه میتوان از طریق پیمایش لیست در پایتون، عناصر را به لیست اضافه و عناصر را از لیست حذف کرد. لیستها در زبان برنامه نویسی پایتون راههای انعطافپذیری را برای دستکاری و پردازش مجموعه دادهها ارائه میدهند.
توابع لیست در پایتون
پایتون چندین توابع داخلی را ارائه میدهد که میتوانند با لیستها برای انجام کارآمد عملیات مختلف استفاده شوند. توابع کلیدی داخلی برای لیست در پایتون به صورت موارد زیر هستند:
- «len()»: طول (تعداد عناصر) لیست را برمیگرداند.
list1 = [12, 16, 18, 20, 39, 40]
list_length = len(list1)
print(list_length)
- max()»»: حداکثر عنصر لیست را برمیگرداند.
list1 = [103, 675, 321, 782, 200]
maximum = max(list1)
print(maximum)
- «min()»: حداقل عنصر لیست را برمیگرداند.
list1 = [103, 675, 321, 782, 200]
minimum = min(list1)
print(minimum)
حال، بیایید نگاهی به چند نمونه از لیستها در پایتون با اجرای توابع بالا بپردازیم.
پیشنهاد مطالعه: آموزش کامل دستور With در پایتون به زبان ساده
مثال ١: حذف موارد تکراری از لیست
مثال زیر نحوه حذف نوارد تکراری از لیست پایتون را نشان میدهد:
list1 = [1, 2, 2, 3, 55, 98, 65, 65, 13, 29]
list2 = []
for item in list1:
if item not in list2:
list2.append(item)
print(list2)
خروجی مثال فوق به صورت زیر است:
مثال ٢: یافتن مجموع عناصر لیست در پایتون
قطعه کد یافتن مجموع عناصر لیست در پایتون به صورت زیر است:
list1 = [3, 4, 5, 9, 10, 12, 24]
sum_result = 0
for item in list1:
sum_result += item
print("The sum is:", sum_result)
خروجی مثال فوق به صورت زیر است:
مثال ٣: یافتن عناصر مشترک بین دو لیست
یافتن عناصر مشترک بین دو لیست به صورت زیر انجا میگیرد:
list1 = [1, 2, 3, 4, 5, 6]
list2 = [7, 8, 9, 2, 10]
for x in list1:
for y in list2:
if x == y:
print("The common element is:", x)
خروجی مثال بالا به صورت زیر است:
این مثالها نحوه استفاده از توابع داخلی و انجام عملیات روی لیست در پایتون را نشان میدهد. لیستها، همراه با این توابع، راه قدرتمندی برای کار با مجموعه دادهها ارائه میدهند.
سخن پایانی
در پایتون، لیستها ساختارهای داده همهکاره و پویا هستند که برای ذخیره مجموعهای از آیتمها استفاده میشوند. آنها از عملیاتی مانند اندیس سازی، برش، پیمایش و الحاق پشتیبانی میکنند. لیستها قابل تغییر هستند و به عناصر اجازه میدهند به راحتی بهروز یا حذف شوند. همچنین توابع داخلی مانند «len»، «max» و «min» دستکاری لیست بسیار سادهتر میکنند. لیست در پایتون با طیف گستردهای از عملکردها، ابزاری اساسی برای مدیریت و پردازش دادهها در برنامههای پایتون محسوب میشود. در مطلب فوق از مجله مکتوب ما به توضیح لیست در پایتون به صورت کامل پرداختیم. به امید اینکه مطلب فوق برای شما مفید بوده باشد.
آموزش پایتون
اگر به فکر یادگیری برنامهنویسی پایتون برای توسعه بازی هستید ابتدا باید اصول برنامهنویسی و مقدمات پایتون را یاد بگیرید. برای کمک به یادگیری پایتون در مکتب خونه انواع دوره آموزش پایتون موجود است که به کاربران کمک میکند به سادهترین شکل ممکن پایتون را بیاموزند. از طریق صفحه آموزش پایتون مکتب خونه میتوانید انواع دورههای موجود برای پایتون را ببینید.