لیست در پایتون یکی از پرکاربردترین و انعطافپذیرترین ساختارهای دادهای است که برای ذخیره و مدیریت مجموعهای از دادهها استفاده میشود. در این مطلب، به صورت جامع با لیستها، ویژگیها، متدها و نحوه استفاده از آنها آشنا میشویم.
لیست چیست؟
لیست (List) در پایتون یک نوع داده است که میتواند مجموعهای از مقادیر (عناصر) را در خود ذخیره کند. این مقادیر میتوانند از انواع مختلف داده مانند عدد، رشته، لیست دیگر یا حتی اشیاء باشند. لیستها در پایتون به صورت قابل تغییر (Mutable) هستند، به این معنا که میتوان بعد از ایجاد آنها، مقادیرشان را تغییر داد.
یک لیست با استفاده از علامتهای [ ] ایجاد میشود و عناصر آن با کاما (,) از هم جدا میشوند.
ایجاد لیست
در زیر مثالهایی از ایجاد لیست آورده شده است:
# لیست خالی
empty_list = []
# لیست اعداد
numbers = [1, 2, 3, 4, 5]
# لیست رشتهها
strings = ["Python", "Java", "C++"]
# لیست با دادههای مختلف
mixed_list = [1, "Hello", 3.14, True]
# لیست تو در تو
nested_list = [[1, 2], [3, 4], [5, 6]]
دسترسی به عناصر لیست
برای دسترسی به عناصر لیست از ایندکس استفاده میشود. ایندکسها در پایتون از 0 شروع میشوند.
numbers = [10, 20, 30, 40, 50]
# دسترسی به عنصر اول
print(numbers[0]) # خروجی: 10
# دسترسی به عنصر آخر
print(numbers[-1]) # خروجی: 50
# دسترسی به زیرلیست (برش یا Slicing)
print(numbers[1:4]) # خروجی: [20, 30, 40]
تغییر عناصر لیست
لیستها قابل تغییر هستند و میتوانید مقدار یک یا چند عنصر را تغییر دهید.
numbers = [10, 20, 30, 40, 50]
# تغییر عنصر دوم
numbers[1] = 25
print(numbers) # خروجی: [10, 25, 30, 40, 50]
# تغییر چند عنصر با استفاده از Slicing
numbers[2:4] = [35, 45]
print(numbers) # خروجی: [10, 25, 35, 45, 50]
متدهای کاربردی لیست
پایتون متدهای متنوعی برای کار با لیستها ارائه میدهد. در ادامه مهمترین متدها آورده شدهاند:
افزودن عناصر
append()
: یک عنصر به انتهای لیست اضافه میکند.extend()
: یک لیست دیگر را به انتهای لیست فعلی اضافه میکند.insert()
: یک عنصر را در موقعیت مشخص اضافه میکند.
numbers = [10, 20, 30]
numbers.append(40)
print(numbers) # خروجی: [10, 20, 30, 40]
numbers.extend([50, 60])
print(numbers) # خروجی: [10, 20, 30, 40, 50, 60]
numbers.insert(2, 25)
print(numbers) # خروجی: [10, 20, 25, 30, 40, 50, 60]
حذف عناصر
remove()
: اولین عنصری که مقدار مشخصی دارد را حذف میکند.pop()
: عنصری را با استفاده از ایندکس حذف میکند و مقدار آن را برمیگرداند.clear()
: تمام عناصر لیست را حذف میکند.
numbers = [10, 20, 30, 40, 50]
numbers.remove(30)
print(numbers) # خروجی: [10, 20, 40, 50]
last_item = numbers.pop()
print(last_item) # خروجی: 50
print(numbers) # خروجی: [10, 20, 40]
numbers.clear()
print(numbers) # خروجی: []
مرتبسازی
sort()
: لیست را به ترتیب صعودی مرتب میکند.reverse()
: ترتیب عناصر لیست را معکوس میکند.
numbers = [50, 10, 40, 20, 30]
numbers.sort()
print(numbers) # خروجی: [10, 20, 30, 40, 50]
numbers.reverse()
print(numbers) # خروجی: [50, 40, 30, 20, 10]
کپی کردن لیست
copy()
: یک کپی از لیست ایجاد میکند.
numbers = [10, 20, 30]
copied_numbers = numbers.copy()
print(copied_numbers) # خروجی: [10, 20, 30]
پیدا کردن اطلاعات
index()
: ایندکس اولین عنصری که مقدار مشخصی دارد را برمیگرداند.count()
: تعداد دفعات تکرار یک مقدار را برمیگرداند.
numbers = [10, 20, 30, 20, 40]
print(numbers.index(20)) # خروجی: 1
print(numbers.count(20)) # خروجی: 2
توابع مهم مرتبط با لیست
پایتون توابع داخلی (Built-in) بسیاری برای کار با لیستها دارد. چند مورد از مهمترین آنها:
len()
: تعداد عناصر لیست را برمیگرداند.sum()
: جمع عناصر لیست (اگر عدد باشند) را برمیگرداند.max()
وmin()
: بزرگترین و کوچکترین مقدار لیست را برمیگردانند.
numbers = [10, 20, 30, 40, 50]
print(len(numbers)) # خروجی: 5
print(sum(numbers)) # خروجی: 150
print(max(numbers)) # خروجی: 50
print(min(numbers)) # خروجی: 10
حلقهها و لیستها
برای پیمایش عناصر لیست میتوان از حلقه for
استفاده کرد.
numbers = [10, 20, 30, 40, 50]
for num in numbers:
print(num)
استفاده از لیستهای تو در تو
لیستهای تو در تو به شما اجازه میدهند لیستهایی در داخل لیست دیگر داشته باشید.
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# دسترسی به عناصر
print(matrix[0][1]) # خروجی: 2
# پیمایش لیست تو در تو
for row in matrix:
for value in row:
print(value, end=" ")
نتیجهگیری
لیستها در پایتون یک ابزار قدرتمند برای مدیریت و ذخیره دادهها هستند. با یادگیری و تسلط بر ویژگیها و متدهای مختلف لیستها، میتوانید برنامههایی انعطافپذیرتر و قدرتمندتر بنویسید.
دیدگاهها