بازگشت به دوره

آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده

0% تکمیل‌شده
0/0 مرحله
  1. معرفی پایتون
  2. شروع کار با پایتون
  3. دستور زبان پایتون (Python Syntax)
  4. توضیح کامنت‌ها در پایتون
  5. متغیرها در پایتون
  6. نام‌های متغیر در پایتون
  7. معرفی متغیرها در پایتون و اختصاص چندین مقدار به آن‌ها
  8. معرفی متغیرها در خروجی با استفاده از پایتون
  9. متغیرهای سراسری (Global Variables) در پایتون
  10. انواع داده‌ها در پایتون
  11. انواع اعداد در پایتون
  12. تبدیل نوع داده در پایتون (Python Casting)
  13. رشته‌ها در پایتون (Python Strings)
  14. برش دادن رشته‌ها در پایتون (Python - Slicing Strings)
  15. تغییر رشته‌ها در پایتون
  16. ترکیب رشته‌ها در پایتون (String Concatenation)
  17. آشنایی با فرمت‌بندی رشته‌ها در پایتون
  18. کاراکترهای Escape در پایتون
  19. مقدمه‌ای بر بولی‌ها (Booleans) در پایتون
  20. عملگرها در پایتون
  21. لیست‌ها در پایتون
  22. دسترسی به آیتم‌های لیست در پایتون
  23. تغییر مقدار آیتم‌های لیست در پایتون
  24. افزودن آیتم به لیست در پایتون
  25. حذف آیتم‌ها از لیست در پایتون
  26. حلقه زدن در لیست‌ها در پایتون
  27. معرفی List Comprehension در پایتون
  28. مرتب‌سازی لیست‌ها در پایتون
  29. کپی کردن لیست‌ها در پایتون
  30. اتصال (Join) لیست‌ها در پایتون
  31. آشنایی با Tuple در پایتون
  32. دسترسی به آیتم‌های یک Tuple در پایتون
  33. بروزرسانی Tuple در پایتون
  34. باز کردن (Unpacking) Tuple در پایتون
  35. حلقه‌ها در Tupleها در پایتون
  36. آموزش ترکیب و تکرار تاپل‌ها در پایتون (Join Tuples)
  37. مجموعه‌ها (Set) در پایتون
  38. دسترسی به آیتم‌های مجموعه (Set) در پایتون
  39. افزودن آیتم به Set در پایتون
  40. حذف آیتم‌ها از Set در Python
  41. حلقه در مجموعه‌ها (Set) در پایتون
  42. روش‌های ترکیب مجموعه‌ها در پایتون (Join Sets)
  43. دیکشنری‌ها در پایتون
  44. دسترسی به آیتم‌های دیکشنری در پایتون
  45. تغییر مقادیر دیکشنری در پایتون
  46. اضافه کردن آیتم‌ها به دیکشنری در پایتون
  47. حذف آیتم‌ها از دیکشنری در پایتون
  48. استفاده از حلقه‌ها در دیکشنری‌ها در پایتون
  49. کپی کردن دیکشنری در پایتون
  50. دیکشنری‌های تو در تو در پایتون (Nested Dictionaries)
  51. شرط‌ها و دستور If در پایتون
  52. حلقه‌های while در پایتون
  53. حلقه‌های for در پایتون
  54. توابع در پایتون
  55. معرفی فانکشن‌های لامبدا در پایتون
  56. آرایه‌ها (Arrays) در پایتون
  57. کلاس‌ها و اشیا در پایتون
  58. وراثت (Inheritance) در پایتون
  59. ایتریتور (یکی یکی پیش رفتن) در پایتون
  60. چندریختی (Polymorphism) در پایتون
  61. محدوده (Scope) در پایتون
  62. ماژول در پایتون چیست؟
  63. کار با تاریخ در پایتون
  64. ریاضیات در پایتون
  65. JSON در پایتون به زبان ساده
  66. عبارات منظم (RegEx) در پایتون
  67. Python PIP
  68. معرفی Try-Except در پایتون
  69. ورودی کاربر در پایتون
  70. فرمت‌بندی رشته‌ها در پایتون

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

چرا از List Comprehension استفاده کنیم؟ 🤔

با استفاده از List Comprehension می‌توانیم کدهای خود را کوتاه‌تر و خواناتر کنیم. به جای نوشتن کدهای پیچیده، فقط یک خط کد می‌نویسیم و همه‌چیز سریع‌تر و ساده‌تر انجام می‌شود.


مثال ساده برای List Comprehension 🥝

فرض کنید یک لیست از میوه‌ها داریم و می‌خواهیم فقط میوه‌هایی که در اسمشان حرف “a” دارند را پیدا کنیم.

روش قدیمی:

اگر بخواهیم این کار را به روش قدیمی انجام دهیم، باید از یک حلقه for استفاده کنیم.

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

در این مثال، برای هر میوه در لیست، بررسی می‌کنیم که آیا حرف “a” در اسم آن هست یا نه. اگر هست، آن را به لیست جدید اضافه می‌کنیم.

روش با List Comprehension:

با List Comprehension می‌توانیم همین کار را در یک خط انجام دهیم:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)

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


ساختار کلی List Comprehension 📝

ساختار List Comprehension به این صورت است:

newlist = [expression for item in iterable if condition]

در توضیح می‌توان گفت

  • expression: چیزی که می‌خواهیم در لیست جدید قرار بگیرد.
  • item: هر عنصر از لیست اولیه.
  • iterable: لیستی که می‌خواهیم از آن استفاده کنیم (مثل لیست، مجموعه، یا تاپل).
  • condition: یک شرط (اختیاری) که تعیین می‌کند کدام عناصر در لیست جدید قرار بگیرند.

نکات مهم:

1. استفاده از شرط (Condition) 🔍

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

مثال: اگر بخواهیم همه میوه‌ها به جز “apple” را در لیست جدید داشته باشیم:

newlist = [x for x in fruits if x != "apple"]
print(newlist)

در این مثال، تمام میوه‌ها به جز “apple” در لیست جدید قرار می‌گیرند.

2. استفاده از Iterable‌ها 🧳

می‌توانیم از هر شئ قابل تکرار (iterable) مثل لیست، تاپل یا مجموعه‌ها استفاده کنیم.

مثال: استفاده از تابع range() برای ایجاد یک iterable و ساخت یک لیست از اعداد 0 تا 9:

newlist = [x for x in range(10)]
print(newlist)

3. تغییر داده‌ها در Expression 🛠️

شما می‌توانید داده‌های موجود در لیست را تغییر دهید یا با آن‌ها کاری انجام دهید قبل از اینکه در لیست جدید قرار بگیرند.

مثال: برای تبدیل همه میوه‌ها به حروف بزرگ:

newlist = [x.upper() for x in fruits]
print(newlist)

4. استفاده از مقدار ثابت برای همه عناصر 🔁

در بعضی مواقع ممکن است بخواهیم همه عناصر لیست جدید را به یک مقدار ثابت تغییر دهیم. مثلاً همه میوه‌ها را به ‘hello’ تغییر بدهیم:

newlist = ['hello' for x in fruits]
print(newlist)

5. استفاده از شرط در Expression 🔄

می‌توانید از شرط‌ها برای تغییر مقادیر در لیست جدید استفاده کنید.

مثال: در اینجا می‌خواهیم “banana” را به “orange” تغییر دهیم:

newlist = [x if x != "banana" else "orange" for x in fruits]
print(newlist)

نتیجه این کد: “banana” به “orange” تبدیل می‌شود و بقیه میوه‌ها بدون تغییر در لیست باقی می‌مانند.


چالش 🧩

حالا نوبت شماست! یک لیست از اعداد 1 تا 10 بسازید و فقط اعدادی که مضرب 2 هستند را پیدا کنید و در یک لیست جدید ذخیره کنید.

مثال:

numbers = range(1, 11)
newlist = [ ]

تکلیف شما: List Comprehension برای این کار بنویسید!


جمع‌بندی 🔍

List Comprehension یک ابزار قدرتمند و ساده است که به شما کمک می‌کند تا کدهای خود را کوتاه‌تر و خواناتر کنید. با استفاده از آن، می‌توانید داده‌ها را فیلتر کرده، تغییر دهید و در یک لیست جدید ذخیره کنید، و این همه در یک خط کد!