عملیات روی لیستها در پایتون
لیستها در پایتون یکی از ساختارهای دادهای بسیار انعطافپذیر هستند که به شما اجازه میدهند مجموعههایی از عناصر را با انواع مختلف ذخیره کنید. علاوه بر دسترسی به عناصر، عملیات مختلفی نیز روی لیستها قابل انجام است. در ادامه به برخی از مهمترین این عملیات میپردازیم:
افزودن عناصر به لیست
متد append() در پایتون: افزودن عنصر به انتهای لیست
متد append() در پایتون یکی از متدهای پرکاربرد برای کار با لیستها است. این متد به شما اجازه میدهد تا یک عنصر جدید را به انتهای یک لیست موجود اضافه کنید.
نحوه استفاده:
list_name.append(element)
-
- list_name: نام لیستی که میخواهید به آن عنصر اضافه کنید.
- element: عنصری که میخواهید به انتهای لیست اضافه شود. این عنصر میتواند از هر نوع دادهای باشد (عدد، رشته، لیست، و غیره).
مثال:
fruits = ["سیب", "موز"]
fruits.append("پرتقال")
print(fruits) # خروجی: ['سیب', 'موز', 'پرتقال']
ویژگیهای مهم:
-
- تغییر درجا: متد append() لیست اصلی را تغییر میدهد و لیست جدیدی ایجاد نمیکند.
- اضافه کردن یک عنصر: این متد تنها یک عنصر را در هر بار فراخوانی اضافه میکند.
- هر نوع دادهای: میتوانید هر نوع دادهای را به لیست اضافه کنید، از جمله اعداد، رشتهها، لیستهای دیگر، و حتی اشیاء.
مثالهای بیشتر:
numbers = [۱, ۲, ۳]
numbers.append(۴)
print(numbers) # خروجی: [۱, ۲, ۳, ۴]
mixed_list = ["سلام", ۱۰, True]
mixed_list.append(["دنیا", ۲۰])
print(mixed_list) # خروجی: ['سلام', ۱۰, True, ['دنیا', ۲۰]]
نکات مهم:
-
- اگر میخواهید چندین عنصر را یکجا به لیست اضافه کنید، میتوانید از متد extend() یا عملگر + استفاده کنید.
- برای اضافه کردن عنصر در یک موقعیت خاص از لیست، از متد insert() استفاده کنید.
متد insert() در پایتون: افزودن عنصر در موقعیت مشخص لیست
متد insert() در پایتون به شما اجازه میدهد تا یک عنصر جدید را در یک موقعیت دلخواه درون یک لیست قرار دهید. این متد بسیار مفید است زمانی که میخواهید عناصر را در یک ترتیب خاص در لیست خود قرار دهید.
نحوه استفاده:
list_name.insert(index, element)
-
-
-
- list_name: نام لیستی که میخواهید به آن عنصر اضافه کنید.
- index: اندیس موقعیتی که میخواهید عنصر را در آن قرار دهید. اندیسها از صفر شروع میشوند.
- element: عنصری که میخواهید به لیست اضافه کنید.
-
-
مثال:
fruits = ["سیب", "موز"]
fruits.insert(۱, "پرتقال")
print(fruits) # خروجی: ['سیب', 'پرتقال', 'موز']
در این مثال، عنصر “پرتقال” در موقعیت اندیس ۱، یعنی بین “سیب” و “موز” قرار میگیرد.
ویژگیهای مهم:
-
-
-
- تغییر درجا: مانند متد append()، متد insert() نیز لیست اصلی را تغییر میدهد و لیست جدیدی ایجاد نمیکند.
- اضافه کردن یک عنصر: این متد تنها یک عنصر را در هر بار فراخوانی اضافه میکند.
- هر نوع دادهای: میتوانید هر نوع دادهای را به لیست اضافه کنید، از جمله اعداد، رشتهها، لیستهای دیگر، و حتی اشیاء.
-
-
مثالهای بیشتر:
numbers = [۱, ۳, ۵]
numbers.insert(۱, ۲)
print(numbers) # خروجی: [۱, ۲, ۳, ۵]
mixed_list = ["سلام", ۱۰]
mixed_list.insert(۰, "دنیا")
print(mixed_list) # خروجی: ['دنیا', 'سلام', ۱۰]
نکات مهم:
-
-
-
- اگر اندیس مشخص شده خارج از محدوده لیست باشد، یک خطای
IndexError
رخ میدهد. - برای افزودن عنصر به انتهای لیست، میتوانید از متد append() استفاده کنید.
- اگر اندیس مشخص شده خارج از محدوده لیست باشد، یک خطای
-
-
جمعبندی:
متد insert() یک ابزار قدرتمند برای ساخت و تغییر لیستها در پایتون است. با درک نحوه کار این متد، میتوانید به راحتی عناصر را در موقعیتهای دلخواه در لیستهای خود قرار دهید.
متد extend() در پایتون: افزودن عناصر چندگانه به لیست
متد extend() در پایتون به شما اجازه میدهد تا عناصر چندگانه را از یک لیست دیگر یا یک شیء قابل تکرار (مانند رشته یا تاپل) به انتهای لیست فعلی اضافه کنید. این متد بسیار مفید است زمانی که میخواهید محتوای یک لیست را با محتوای دیگری ادغام کنید.
نحوه استفاده:
list_name.extend(iterable)
-
-
- list_name: نام لیستی که میخواهید به آن عناصر اضافه کنید.
- iterable: یک شیء قابل تکرار که حاوی عناصر مورد نظر است. این میتواند یک لیست، رشته، تاپل یا هر شیء دیگری که قابل تکرار باشد باشد.
-
مثال:
fruits1 = ["سیب", "موز"]
fruits2 = ["پرتقال", "انگور"]
fruits1.extend(fruits2)
print(fruits1) # خروجی: ['سیب', 'موز', 'پرتقال', 'انگور']
در این مثال، عناصر لیست fruits2
به انتهای لیست fruits1
اضافه میشوند.
ویژگیهای مهم:
-
-
- تغییر درجا: مانند متدهای append() و insert()، متد extend() نیز لیست اصلی را تغییر میدهد و لیست جدیدی ایجاد نمیکند.
- اضافه کردن چندین عنصر: این متد میتواند چندین عنصر را به طور همزمان اضافه کند.
- هر نوع دادهای: میتوانید هر نوع دادهای را به لیست اضافه کنید، از جمله اعداد، رشتهها، لیستهای دیگر، و حتی اشیاء.
-
مثالهای بیشتر:
numbers = [۱, ۲, ۳]
numbers.extend([۴, ۵])
print(numbers) # خروجی: [۱, ۲, ۳, ۴, ۵]
letters = "abc"
letters.extend("def")
print(letters) # خروجی: ['a', 'b', 'c', 'd', 'e', 'f']
نکات مهم:
-
-
- اگر میخواهید فقط یک عنصر را به لیست اضافه کنید، میتوانید از متد append() استفاده کنید.
- برای افزودن عناصر در یک موقعیت خاص از لیست، میتوانید از متد insert() استفاده کنید.
-
حذف عناصر از لیست
متد remove() در پایتون به شما اجازه میدهد تا اولین عنصر با مقدار مشخص شده را از یک لیست حذف کنید. اگر عنصر مورد نظر در لیست وجود نداشته باشد، یک خطای ValueError
رخ میدهد.
نحوه استفاده:
list_name.remove(element)
-
- list_name: نام لیستی که میخواهید از آن عنصر را حذف کنید.
- element: عنصری که میخواهید حذف کنید.
مثال:
fruits = ["سیب", "موز", "پرتقال"]
fruits.remove("موز")
print(fruits) # خروجی: ['سیب', 'پرتقال']
در این مثال، عنصر “موز” از لیست حذف میشود.
ویژگیهای مهم:
-
- تغییر درجا: متد remove() لیست اصلی را تغییر میدهد و لیست جدیدی ایجاد نمیکند.
- حذف اولین عنصر: این متد فقط اولین عنصر با مقدار مشخص شده را حذف میکند. اگر چندین عنصر با همان مقدار در لیست وجود داشته باشد، فقط اولین آنها حذف میشود.
مثالهای بیشتر:
numbers = [۱, ۲, ۳, ۲]
numbers.remove(۲)
print(numbers) # خروجی: [۱, ۳, ۲]
mixed_list = ["سلام", ۱۰, "دنیا"]
mixed_list.remove("سلام")
print(mixed_list) # خروجی: [۱۰, 'دنیا']
نکات مهم:
-
- اگر عنصر مورد نظر در لیست وجود نداشته باشد، یک خطای
ValueError
رخ میدهد. - برای حذف عنصر در یک موقعیت خاص از لیست، میتوانید از متد pop() استفاده کنید.
- اگر عنصر مورد نظر در لیست وجود نداشته باشد، یک خطای
-
- متد pop() در پایتون: حذف و برگرداندن عنصر از لیست
متد pop() در پایتون به شما اجازه میدهد تا یک عنصر را از یک لیست حذف کنید و آن را برمیگرداند. این متد بسیار مفید است زمانی که میخواهید هم عنصر را حذف کنید و هم آن را برای استفادههای بعدی ذخیره کنید.
نحوه استفاده:
Pythonelement = list_name.pop(index)
- list_name: نام لیستی که میخواهید از آن عنصر را حذف کنید.
- index: (اختیاری) اندیس موقعیتی که میخواهید عنصر را از آن حذف کنید. اگر این پارامتر مشخص نشود، آخرین عنصر لیست حذف و برگردانده میشود.
مثال:
Pythonfruits = ["سیب", "موز", "پرتقال"] removed_fruit = fruits.pop(۱) print(fruits) # خروجی: ['سیب', 'پرتقال'] print(removed_fruit) # خروجی: 'موز'
در این مثال، عنصر “موز” از لیست حذف میشود و در متغیر
removed_fruit
ذخیره میشود.ویژگیهای مهم:
- تغییر درجا: متد pop() لیست اصلی را تغییر میدهد و لیست جدیدی ایجاد نمیکند.
- حذف و برگرداندن: این متد هم عنصر را حذف میکند و هم آن را برمیگرداند.
- اندیس اختیاری: اگر اندیس مشخص نشود، آخرین عنصر لیست حذف و برگردانده میشود.
مثالهای بیشتر:
Pythonnumbers = [۱, ۲, ۳, ۴] last_number = numbers.pop() print(numbers) # خروجی: [۱, ۲, ۳] print(last_number) # خروجی: ۴ mixed_list = ["سلام", ۱۰, "دنیا"] first_item = mixed_list.pop(۰) print(mixed_list) # خروجی: [۱۰, 'دنیا'] print(first_item) # خروجی: 'سلام'
نکات مهم:
-
-
- اگر اندیس مشخص شده خارج از محدوده لیست باشد، یک خطای
IndexError
رخ میدهد. - برای حذف عنصر با مقدار مشخص شده، میتوانید از متد remove() استفاده کنید.
- اگر اندیس مشخص شده خارج از محدوده لیست باشد، یک خطای
-
متد clear() در پایتون: پاک کردن کامل لیستمتد clear() در پایتون به شما اجازه میدهد تا تمام عناصر یک لیست را به طور کامل حذف کنید و لیست را خالی کنید. این متد بسیار مفید است زمانی که میخواهید یک لیست را برای استفاده مجدد آماده کنید.
نحوه استفاده:
Pythonlist_name.clear()
- list_name: نام لیستی که میخواهید پاک کنید.
مثال:
Pythonfruits = ["سیب", "موز", "پرتقال"] fruits.clear() print(fruits) # خروجی: []
در این مثال، تمام عناصر لیست
fruits
حذف میشوند و لیست خالی میشود.ویژگیهای مهم:
- تغییر درجا: متد clear() لیست اصلی را تغییر میدهد و لیست جدیدی ایجاد نمیکند.
- حذف تمام عناصر: این متد تمام عناصر لیست را حذف میکند، بدون اینکه هیچ عنصری باقی بماند.
مثالهای بیشتر:
Pythonnumbers = [۱, ۲, ۳, ۴] numbers.clear() print(numbers) # خروجی: [] mixed_list = ["سلام", ۱۰, "دنیا"] mixed_list.clear() print(mixed_list) # خروجی: []
نکات مهم:
- متد clear() هیچ عنصری را برنمیگرداند.
- برای حذف یک عنصر خاص از لیست، میتوانید از متدهای remove() یا pop() استفاده کنید.
-
تغییر عناصر لیست
- تعیین مقدار جدید برای یک عنصر: Python
my_list = [۱, ۲, ۳] my_list[۱] = ۵ print(my_list) # خروجی: [۱, ۵, ۳]
سایر عملیات
تکرار روی عناصر لیست در پایتون
تکرار روی عناصر لیست در پایتون به معنای پیمایش روی هر یک از عناصر یک لیست به صورت جداگانه است. این کار با استفاده از حلقههای for
انجام میشود. حلقه for
به شما اجازه میدهد تا یک بلوک کد را برای هر عنصر در لیست اجرا کنید.
ساختار کلی:
for element in my_list:
# کدهایی که برای هر عنصر اجرا می شوند
-
- element: یک متغیر موقتی است که در هر تکرار مقدار عنصر فعلی را در خود نگه میدارد.
- my_list: نام لیستی است که میخواهیم روی عناصر آن تکرار کنیم.
مثال:
fruits = ["سیب", "موز", "پرتقال"]
for fruit in fruits:
print(fruit)
خروجی این کد به صورت زیر خواهد بود:
سیب
موز
پرتقال
مثال پیشرفتهتر:
numbers = [۱, ۲, ۳, ۴, ۵]
sum = ۰
for number in numbers:
sum += number
print("مجموع اعداد:", sum)
در این مثال، ما روی اعداد لیست numbers
تکرار میکنیم و مجموع آنها را محاسبه میکنیم.
استفاده از تابع enumerate()
برای دسترسی به اندیس عناصر:
اگر علاوه بر خود عنصر، به اندیس آن در لیست نیز نیاز داشته باشید، میتوانید از تابع enumerate()
استفاده کنید:
fruits = ["سیب", "موز", "پرتقال"]
for index, fruit in enumerate(fruits):
print(index, fruit)
خروجی این کد به صورت زیر خواهد بود:
۰ سیب
۱ موز
۲ پرتقال
نکات مهم:
-
- تغییر لیست در حین تکرار: اگر در حین تکرار روی لیست، عناصری را اضافه یا حذف کنید، ممکن است به نتایج غیرمنتظرهای برسید. بهتر است یک کپی از لیست اصلی ایجاد کرده و روی آن تکرار کنید.
- لیستهای تو در تو: برای تکرار روی عناصر لیستهای تو در تو، میتوانید از حلقههای تو در تو استفاده کنید.
- سایر ساختارهای دادهای: علاوه بر لیستها، میتوانید روی عناصر رشتهها، تاپلها و سایر ساختارهای دادهای قابل تکرار نیز تکرار کنید.
کاربردهای رایج تکرار روی لیستها:
-
- پیدا کردن مقدار بزرگترین یا کوچکترین عنصر
- محاسبه میانگین یا مجموع عناصر
- جستجوی یک عنصر خاص در لیست
- ایجاد لیست جدید بر اساس لیست موجود
- اعمال تغییرات روی همه عناصر لیست
- بررسی عضویت در پایتون: یافتن یک عنصر در لیست
بررسی عضویت در پایتون به معنای تعیین این است که آیا یک عنصر خاص در یک لیست وجود دارد یا خیر. این کار معمولاً با استفاده از عملگر عضویت
in
انجام میشود.سینتکس:
Pythonif element in my_list: # اگر عنصر در لیست باشد، این کد اجرا میشود else: # اگر عنصر در لیست نباشد، این کد اجرا میشود
مثال:
Pythonfruits = ["سیب", "موز", "پرتقال"] if "موز" in fruits: print("موز در لیست وجود دارد.") else: print("موز در لیست وجود ندارد.")
مثال پیشرفتهتر:
Pythonnumbers = [۱, ۲, ۳, ۴, ۵] search_number = ۳ if search_number in numbers: print(f"عدد {search_number} در لیست یافت شد.") else: print(f"عدد {search_number} در لیست یافت نشد.")
نکات مهم:
- حساسیت به بزرگی و کوچکی حروف: در رشتهها، حروف بزرگ و کوچک متفاوت در نظر گرفته میشوند. به عنوان مثال، “سیب” با “سیب” برابر نیست.
- انواع دادهها: عملگر
in
برای انواع دادههای مختلف قابل استفاده است، از جمله لیستها، رشتهها، تاپلها و مجموعهها. - کارایی: برای لیستهای بزرگ، استفاده از مجموعهها (set) برای بررسی عضویت معمولاً کارآمدتر است، زیرا مجموعهها به صورت داخلی بهینهسازی شدهاند برای عملیات جستجو.
کاربردهای بررسی عضویت:
- کنترل جریان برنامه: بر اساس وجود یا عدم وجود یک عنصر در لیست، تصمیمگیری در مورد اجرای کدهای مختلف.
- اعتبارسنجی ورودی: بررسی اینکه آیا یک مقدار وارد شده توسط کاربر در لیست مقادیر مجاز وجود دارد یا خیر.
- جلوگیری از تکرار عناصر: اطمینان از اینکه یک عنصر قبل از اضافه شدن به لیست، در آن وجود نداشته باشد.
مثال عملی:
Pythondef is_vowel(character): vowels = "aeiouAEIOU" return character in vowels print(is_vowel('a')) # True print(is_vowel('b')) # False
طول لیست در پایتونطول لیست در پایتون به تعداد عناصر موجود در آن اشاره دارد. برای یافتن طول یک لیست، از تابع داخلی
len()
استفاده میکنیم.سینتکس:
Pythonlength = len(my_list)
در این کد:
length
: متغیری است که برای ذخیره طول لیست استفاده میشود.len()
: تابعی است که طول یک شیء قابل شمارش (مانند لیست، رشته، تاپل و …) را برمیگرداند.my_list
: نام لیستی است که میخواهیم طول آن را محاسبه کنیم.
مثال:
Pythonfruits = ["سیب", "موز", "پرتقال", "انگور"] number_of_fruits = len(fruits) print("تعداد میوهها:", number_of_fruits)
خروجی این کد:
تعداد میوهها: ۴
مثال دیگر:
Pythonnumbers = [۱, ۲, ۳, ۴, ۵, ۶] print("طول لیست اعداد:", len(numbers))
کاربردهای یافتن طول لیست:
- کنترل حلقهها: برای تکرار به تعداد دقیق عناصر لیست.
- بررسی شرطها: برای تعیین اینکه آیا لیست خالی است یا خیر.
- محاسبات: برای انجام محاسباتی که به تعداد عناصر لیست بستگی دارند.
- اندازه گیری کارایی: برای مقایسه کارایی الگوریتمها روی لیستهای با اندازههای مختلف.
نکته مهم:
تابع
len()
نه تنها برای لیستها، بلکه برای سایر ساختارهای دادهای مانند رشتهها، تاپلها و حتی دیکشنریها نیز قابل استفاده است.مثال با رشته:
Pythonmy_string = "سلام دنیا" length_of_string = len(my_string) print("طول رشته:", length_of_string)
مرتبسازی لیست در پایتونمرتبسازی لیست در پایتون به معنای قرار دادن عناصر یک لیست به ترتیب خاصی (صعودی یا نزولی) است. پایتون روشهای مختلفی برای مرتبسازی لیستها ارائه میدهد.
روشهای مرتبسازی لیست در پایتون
۱. روش
sort()
- تغییر لیست اصلی: این روش لیست اصلی را به صورت مستقیم تغییر میدهد.
- ترتیب پیشفرض: صعودی
- سینتکس: Python
my_list.sort() # مرتبسازی صعودی my_list.sort(reverse=True) # مرتبسازی نزولی
۲. روش
sorted()
- ایجاد لیست جدید: این روش یک لیست جدید مرتب شده ایجاد میکند و لیست اصلی را تغییر نمیدهد.
- ترتیب پیشفرض: صعودی
- سینتکس: Python
new_list = sorted(my_list) # مرتبسازی صعودی new_list = sorted(my_list, reverse=True) # مرتبسازی نزولی
مثالها
Pythonnumbers = [۳, ۱, ۴, ۱, ۵, ۹, ۲, ۶, ۵, ۳, ۵] # مرتبسازی صعودی با روش sort() numbers.sort() print(numbers) # خروجی: [۱, ۱, ۲, ۳, ۳, ۴, ۵, ۵, ۵, ۶, ۹] # مرتبسازی نزولی با روش sorted() sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # خروجی: [۹, ۶, ۵, ۵, ۵, ۴, ۳, ۳, ۲, ۱, ۱]
مرتبسازی لیستهای حاوی اشیاء
برای مرتبسازی لیستهایی که حاوی اشیاء هستند، باید یک تابع کلید (key function) تعریف کنیم که مشخص کند بر اساس کدام ویژگی اشیاء مرتب شوند.
Pythonclass Student: def __init__(self, name, age): self.name = name self.age = age students = [ Student("علی", ۲۲), Student("زهرا", ۲۰), Student("حسن", ۲۵) ] # مرتبسازی بر اساس سن students.sort(key=lambda x: x.age) print(students)
نکات مهم
- تغییر درجا: روش
sort()
لیست اصلی را تغییر میدهد، در حالی کهsorted()
یک لیست جدید ایجاد میکند. - ترتیب پیشفرض: هر دو روش به صورت پیشفرض به صورت صعودی مرتب میکنند.
- تابع کلید: برای مرتبسازی بر اساس ویژگیهای خاص اشیاء، از تابع کلید استفاده میشود.
- انواع دادهها: میتوان انواع مختلف دادهها (اعداد، رشتهها، اشیاء) را مرتب کرد.
کاربردهای مرتبسازی
- سازماندهی دادهها: مرتبسازی دادهها برای جستجو و تحلیل آسانتر.
- الگوریتمهای مرتبسازی: الگوریتمهای مختلفی برای مرتبسازی وجود دارد که هر کدام برای شرایط خاصی مناسب هستند.
- دادهکاوی: مرتبسازی دادهها برای کشف الگوها و روابط بین دادهها.
کپی کردن لیست در پایتوندر پایتون، کپی کردن یک لیست به این معنی است که یک نسخه جداگانه از آن لیست ایجاد کنیم. این کار زمانی مفید است که میخواهیم تغییرات را روی یک کپی اعمال کنیم بدون اینکه لیست اصلی را تغییر دهیم.
چرا به کپی کردن لیست نیاز داریم؟
- جلوگیری از تغییرات ناخواسته: اگر یک لیست را به متغیر دیگری ارجاع دهیم، هر تغییری که روی یکی از آنها اعمال شود، روی دیگری نیز اعمال خواهد شد. کپی کردن لیست باعث میشود که این دو لیست مستقل از هم باشند.
- ایجاد نسخه پشتیبان: قبل از انجام تغییرات بزرگ روی یک لیست، میتوانیم یک کپی از آن ایجاد کنیم تا در صورت نیاز به حالت قبلی برگردیم.
- الگوریتمها و ساختارهای دادهای: در بسیاری از الگوریتمها و ساختارهای دادهای، نیاز به ایجاد کپی از لیستها وجود دارد.
روشهای کپی کردن لیست:
-
استفاده از روش
copy()
:Pythonnew_list = old_list.copy()
این روش یک نسخه سطحی از لیست ایجاد میکند. یعنی عناصر ساده (مثل اعداد، رشتهها) کپی میشوند، اما اگر عناصر لیست خودشان لیست باشند، تنها ارجاع به لیست داخلی کپی میشود.
-
استفاده از برش لیست:
Pythonnew_list = old_list[:]
این روش نیز یک نسخه سطحی از لیست ایجاد میکند و مشابه روش
copy()
عمل میکند. -
استفاده از ماژول
copy
:- کپی سطحی: Python
import copy new_list = copy.copy(old_list)
- کپی عمیق: Python
import copy new_list = copy.deepcopy(old_list)
کپی عمیق تمام عناصر لیست را به صورت بازگشتی کپی میکند، حتی اگر عناصر خودشان لیست باشند.
- کپی سطحی:
تفاوت بین کپی سطحی و عمیق:
- کپی سطحی: تنها ارجاعات به عناصر لیست کپی میشوند. اگر عناصر خودشان لیست باشند، تغییرات در لیست اصلی بر روی کپی نیز اعمال میشود.
- کپی عمیق: تمام عناصر لیست به طور کامل کپی میشوند. حتی اگر عناصر خودشان لیست باشند، کپی جدیدی از آنها ایجاد میشود.
چه زمانی از کدام روش استفاده کنیم؟
- کپی سطحی: زمانی که عناصر لیست ساده باشند و نیازی به کپی کردن عمیق نداشته باشیم.
- کپی عمیق: زمانی که لیست حاوی عناصر پیچیده (مثل لیستهای تو در تو، اشیاء) باشد و بخواهیم یک نسخه کاملاً مستقل از لیست اصلی ایجاد کنیم.
مثال:
Pythonold_list = [۱, ۲, [۳, ۴]] new_list = old_list.copy() # کپی سطحی # تغییر در لیست اصلی old_list[۲][۰] = ۱۰ print(old_list) # خروجی: [۱, ۲, [۱۰, ۴]] print(new_list) # خروجی: [۱, ۲, [۱۰, ۴]] (تغییر در لیست اصلی بر روی کپی نیز اعمال شده است) import copy new_list = copy.deepcopy(old_list) # کپی عمیق # تغییر در لیست اصلی old_list[۲][۰] = ۲۰ print(old_list) # خروجی: [۱, ۲, [۲۰, ۴]] print(new_list) # خروجی: [۱, ۲, [۱۰, ۴]] (تغییر در لیست اصلی بر روی کپی اعمال نشده است)
عملگر + در لیستها در پایتونعملگر
+
در لیستها برای ترکیب دو لیست به کار میرود. به عبارت دیگر، با استفاده از این عملگر، دو لیست را میتوان به هم چسباند و یک لیست جدید ایجاد کرد.مثال:
Pythonlist1 = [۱, ۲, ۳] list2 = [۴, ۵, ۶] list3 = list1 + list2 print(list3) # خروجی: [۱, ۲, ۳, ۴, ۵, ۶]
در این مثال، دو لیست
list1
وlist2
با هم ترکیب شدهاند و لیست جدیدlist3
را تشکیل دادهاند.نکات مهم:
- تغییر ناپذیری لیستهای اصلی: عملگر
+
لیستهای اصلی را تغییر نمیدهد، بلکه یک لیست جدید ایجاد میکند. - انواع عناصر: عناصر دو لیستی که با هم ترکیب میشوند، باید از یک نوع باشند. مثلاً نمیتوان یک لیست از اعداد را با یک لیست از رشتهها ترکیب کرد.
- تکرار عملگر: میتوان عملگر
+
را چندین بار برای ترکیب چندین لیست به کار برد.
مثال پیچیدهتر:
Pythonlist1 = ["apple", "banana"] list2 = [۱, ۲, ۳] list3 = list1 + list2 print(list3) # این خط اجرا نمیشود، زیرا نمیتوان رشتهها و اعداد را با هم ترکیب کرد
در این مثال، به دلیل تفاوت در نوع عناصر، خطا رخ میدهد.
کاربردهای عملگر + در لیستها:
- ساخت لیستهای بزرگتر: با ترکیب چندین لیست کوچک، میتوان یک لیست بزرگ ایجاد کرد.
- اضافه کردن عناصر به انتهای لیست: Python
list1 = [۱, ۲, ۳] list2 = [۴] list1 = list1 + list2 # حالا list1 برابر با [۱, ۲, ۳, ۴] است
- پیادهسازی الگوریتمها: در برخی الگوریتمها، مانند الگوریتمهای مرتبسازی و جستجو، از ترکیب لیستها استفاده میشود.
محدودیتها:
- تغییر ناپذیری: اگر بخواهیم عناصر یک لیست را به طور مستقیم تغییر دهیم، نمیتوانیم از عملگر
+
استفاده کنیم. برای این کار باید از متدهایی مانندappend()
,insert()
, وextend()
استفاده کنیم. - نوع عناصر: عناصر دو لیستی که با هم ترکیب میشوند، باید از یک نوع باشند.
نکته مهم: لیستها در پایتون قابل تغییر هستند، یعنی پس از ایجاد، میتوان عناصر آنها را تغییر داد، اضافه یا حذف کرد.