کلاس برنامهنویسی پایتون
👨🏫 مربی: یاسر محمودیان
📅 تاریخ برگزاری: ۲۲ مرداد ۱۴۰۴
⏰ ساعت:
۹:۰۰ تا ۱۰:۳۰ — برادران
۱۰:۳۰ تا ۱۲:۰۰ — خواهران
📍 مکان: کانون فرهنگی ورزشی شهید صیادشیرازی بسیج درگز
👨🏫 مربی: یاسر محمودیان
📅 تاریخ برگزاری: ۲۲ مرداد ۱۴۰۴
⏰ ساعت:
۹:۰۰ تا ۱۰:۳۰ — برادران
۱۰:۳۰ تا ۱۲:۰۰ — خواهران
📍 مکان: کانون فرهنگی ورزشی شهید صیادشیرازی بسیج درگز
«هر راه بزرگی با قدمی کوچک آغاز میشود، و امروز همان قدم اول شماست.»
🌺با آرزوی موفقیت برای همه دوستان، انشاءالله در جلسات آینده همگی با فرآیند نوشتن و ساختن پروژهها بیشتر آشنا خواهند شد.
✨️یکی از مهمترین الزامات، توجه، تمرکز و نوشتن کدهاست؛ زیرا این کار قدرت تحلیل و یادگیری شما را چند برابر میکند.
🔸️اینکه همچنان در مسیر یادگیری هستید، بسیار ارزشمند است. پیشنهاد میکنم حتما یک دفترچه یادداشت داشته باشید تا مطالب گفتهشده را به شکل منظم، اولویتبندیشده و پایهای ثبت کنید. این موارد، شالوده یادگیری برنامهنویسی پایتون را تشکیل میدهند.
🌺با آرزوی موفقیت برای همه دوستان، انشاءالله در جلسات آینده همگی با فرآیند نوشتن و ساختن پروژهها بیشتر آشنا خواهند شد.
✨️یکی از مهمترین الزامات، توجه، تمرکز و نوشتن کدهاست؛ زیرا این کار قدرت تحلیل و یادگیری شما را چند برابر میکند.
🔸️اینکه همچنان در مسیر یادگیری هستید، بسیار ارزشمند است. پیشنهاد میکنم حتما یک دفترچه یادداشت داشته باشید تا مطالب گفتهشده را به شکل منظم، اولویتبندیشده و پایهای ثبت کنید. این موارد، شالوده یادگیری برنامهنویسی پایتون را تشکیل میدهند.
سلام دوستان عزیز! 👋
یه فرصت عالی برای یادگیری و محک زدن مهارتهای پایتون پیش اومده.
اگه وقت داری و دوست داری 💻برنامهنویسی رو بهتر بشناسی یا تمرین کنی، این آزمون ساده و جذاب رو از دست نده! 🎯
🔗 لینک آزمون:
https://rubika.ir/py_plus22/BDIAFHIIFFFGHIGE
💡 نگران سختی نباش! این آزمون برای همه سطحها طراحی شده و هدفش کمک به یادگیری و افزایش اعتماد به نفس تو برنامهنویسیه.
حتی اگه تازهکاری، فقط کافیه با آرامش شروع کنی و به خودت فرصت بدی. 😊
بیاید با هم این چالش رو قبول کنیم و تجربه جدیدی کسب کنیم!
🌺منتظر موفقیتهای شما هستم!
یه فرصت عالی برای یادگیری و محک زدن مهارتهای پایتون پیش اومده.
اگه وقت داری و دوست داری 💻برنامهنویسی رو بهتر بشناسی یا تمرین کنی، این آزمون ساده و جذاب رو از دست نده! 🎯
🔗 لینک آزمون:
https://rubika.ir/py_plus22/BDIAFHIIFFFGHIGE
💡 نگران سختی نباش! این آزمون برای همه سطحها طراحی شده و هدفش کمک به یادگیری و افزایش اعتماد به نفس تو برنامهنویسیه.
حتی اگه تازهکاری، فقط کافیه با آرامش شروع کنی و به خودت فرصت بدی. 😊
بیاید با هم این چالش رو قبول کنیم و تجربه جدیدی کسب کنیم!
🌺منتظر موفقیتهای شما هستم!
آموزش پایتون از صفر تا فصل رشتهها (۳۰۰ نکته)
۱–۱۰۰: مقدمات برنامهنویسی و مفاهیم پایه
1. برنامه چیست: مجموعه دستوراتی که کامپیوتر اجرا میکند.
2. برنامهنویسی چیست: هنر نوشتن برنامهها برای انجام کارهای مشخص.
3. کد: دستورالعملهای قابل فهم برای کامپیوتر.
4. پردازش: اجرای کد و انجام عملیات.
5. RAM: حافظه موقت برای اجرای برنامهها.
6. ROM: حافظه دائمی برای ذخیره سیستم عامل و دادهها.
7. سیستم: مجموعهای از سختافزار و نرمافزار برای اجرای برنامهها.
8. گروه: دستهای از دادهها یا کارها که با هم مرتبطاند.
9. CPU: واحد پردازش مرکزی، مغز کامپیوتر.
10. واحد حساب و منطق: بخشی از CPU که محاسبات و تصمیمگیری انجام میدهد.
11. ورودی: دادههایی که به کامپیوتر وارد میشوند.
12. خروجی: نتیجه پردازش دادهها.
13. الگوریتم: دستورالعمل گامبهگام حل مسئله.
14. فلوچارت: نمودار بصری الگوریتم.
15. متغیر: محفظهای برای ذخیره دادهها.
16. نوع داده عددی: integer و float.
17. نوع داده متنی: string.
18. نوع داده منطقی: boolean (True/False).
19. لیست: مجموعهای مرتب از عناصر.
20. دیکشنری: مجموعهای از جفت کلید-مقدار.
21. tuple: لیستی غیرقابل تغییر.
22. set: مجموعهای بدون تکرار.
23. عملگر جمع: + برای جمع یا الحاق.
24. عملگر تفریق: - برای اعداد.
25. عملگر ضرب: * برای اعداد یا تکرار رشته.
26. عملگر تقسیم: / همیشه float میدهد.
27. عملگر تقسیم صحیح: // بدون اعشار.
28. عملگر باقیمانده: %.
29. عملگر توان: **.
30. عملگر مقایسه: ==, !=, <, >, <=, >=.
31. عملگر منطقی: and, or, not.
32. شرط if: اجرای کد بر اساس شرط.
33. شرط else: اجرای کد در صورت نادرستی شرط.
34. شرط elif: بررسی شرط دوم یا چندم.
35. حلقه for: تکرار برای تعداد مشخص یا لیست.
36. حلقه while: تکرار تا شرط برقرار باشد.
37. break: خروج از حلقه.
38. continue: عبور از تکرار فعلی و رفتن به بعدی.
39. pass: جایگزین کد موقت.
40. تابع: مجموعهای از کدها با نام مشخص.
41. def: تعریف تابع.
42. return: خروجی تابع.
43. import: وارد کردن کتابخانه.
44. کتابخانه: مجموعهای از توابع و کلاسها.
45. math: کتابخانه ریاضی.
46. random: تولید اعداد تصادفی.
47. input(): دریافت داده از کاربر.
48. print(): نمایش داده روی صفحه.
49. type(): نمایش نوع داده.
50. len(): طول داده یا رشته.
51. str(): تبدیل به رشته.
52. int(): تبدیل به عدد صحیح.
53. float(): تبدیل به عدد اعشاری.
54. bool(): تبدیل به True/False.
55. list(): ساخت لیست.
56. dict(): ساخت دیکشنری.
57. tuple(): ساخت tuple.
58. set(): ساخت set.
59. slicing: برش داده یا رشته [start:end:step].
60. negative indexing: اندیس منفی از انتها.
61. enumerate(): گرفتن اندیس و مقدار همزمان.
62. zip(): ترکیب چند لیست.
63. comprehension: ایجاد لیست با یک خط کد.
64. شرط در comprehension: فیلتر کردن عناصر.
65. map(): اعمال تابع روی مجموعهای از دادهها.
66. filter(): فیلتر دادهها با تابع.
67. lambda: تابع کوتاه بدون نام.
68. exception: خطا در زمان اجرا.
69. try: شروع بررسی خطا.
70. except: کد جایگزین در صورت خطا.
71. finally: اجرای کد همیشه.
72. raise: ایجاد خطا دستی.
73. assert: بررسی شرط و توقف در صورت نادرستی.
74. recursion: فراخوانی تابع خودش.
75. base case: شرط توقف recursion.
76. stack: ساختار داده LIFO.
77. queue: ساختار داده FIFO.
78. class: تعریف کلاس.
79. object: نمونهای از کلاس.
80. init(): تابع سازنده کلاس.
81. self: ارجاع به خود شیء.
82. method: تابع داخل کلاس.
83. attribute: متغیر داخل کلاس.
84. inheritance: ارثبری کلاسها.
85. override: بازنویسی متد کلاس والد.
86. encapsulation: پنهانسازی دادهها.
87. polymorphism: رفتار متفاوت یک تابع برای کلاسهای مختلف.
88. module: فایل پایتون با توابع و کلاسها.
89. package: مجموعهای از ماژولها.
90. sys: ماژول سیستم.
91. os: ماژول سیستمعامل.
92. path: مسیر فایلها و دایرکتوری.
93. open(): باز کردن فایل.
94. read(): خواندن محتوا.
95. write(): نوشتن در فایل.
96. close(): بستن فایل.
97. with: مدیریت خودکار باز و بسته کردن فایل.
98. exception در فایل: مدیریت خطاهای فایل.
99. append(): اضافه کردن به فایل یا لیست.
100. split(): تبدیل رشته به لیست.
---
۱۰۱–۲۰۰: شروع پایتون و کار با دادهها
101. join(): تبدیل لیست به رشته.
102. strip(): حذف فاصله اضافی.
103. lstrip(): حذف فاصله از ابتدا.
۱–۱۰۰: مقدمات برنامهنویسی و مفاهیم پایه
1. برنامه چیست: مجموعه دستوراتی که کامپیوتر اجرا میکند.
2. برنامهنویسی چیست: هنر نوشتن برنامهها برای انجام کارهای مشخص.
3. کد: دستورالعملهای قابل فهم برای کامپیوتر.
4. پردازش: اجرای کد و انجام عملیات.
5. RAM: حافظه موقت برای اجرای برنامهها.
6. ROM: حافظه دائمی برای ذخیره سیستم عامل و دادهها.
7. سیستم: مجموعهای از سختافزار و نرمافزار برای اجرای برنامهها.
8. گروه: دستهای از دادهها یا کارها که با هم مرتبطاند.
9. CPU: واحد پردازش مرکزی، مغز کامپیوتر.
10. واحد حساب و منطق: بخشی از CPU که محاسبات و تصمیمگیری انجام میدهد.
11. ورودی: دادههایی که به کامپیوتر وارد میشوند.
12. خروجی: نتیجه پردازش دادهها.
13. الگوریتم: دستورالعمل گامبهگام حل مسئله.
14. فلوچارت: نمودار بصری الگوریتم.
15. متغیر: محفظهای برای ذخیره دادهها.
16. نوع داده عددی: integer و float.
17. نوع داده متنی: string.
18. نوع داده منطقی: boolean (True/False).
19. لیست: مجموعهای مرتب از عناصر.
20. دیکشنری: مجموعهای از جفت کلید-مقدار.
21. tuple: لیستی غیرقابل تغییر.
22. set: مجموعهای بدون تکرار.
23. عملگر جمع: + برای جمع یا الحاق.
24. عملگر تفریق: - برای اعداد.
25. عملگر ضرب: * برای اعداد یا تکرار رشته.
26. عملگر تقسیم: / همیشه float میدهد.
27. عملگر تقسیم صحیح: // بدون اعشار.
28. عملگر باقیمانده: %.
29. عملگر توان: **.
30. عملگر مقایسه: ==, !=, <, >, <=, >=.
31. عملگر منطقی: and, or, not.
32. شرط if: اجرای کد بر اساس شرط.
33. شرط else: اجرای کد در صورت نادرستی شرط.
34. شرط elif: بررسی شرط دوم یا چندم.
35. حلقه for: تکرار برای تعداد مشخص یا لیست.
36. حلقه while: تکرار تا شرط برقرار باشد.
37. break: خروج از حلقه.
38. continue: عبور از تکرار فعلی و رفتن به بعدی.
39. pass: جایگزین کد موقت.
40. تابع: مجموعهای از کدها با نام مشخص.
41. def: تعریف تابع.
42. return: خروجی تابع.
43. import: وارد کردن کتابخانه.
44. کتابخانه: مجموعهای از توابع و کلاسها.
45. math: کتابخانه ریاضی.
46. random: تولید اعداد تصادفی.
47. input(): دریافت داده از کاربر.
48. print(): نمایش داده روی صفحه.
49. type(): نمایش نوع داده.
50. len(): طول داده یا رشته.
51. str(): تبدیل به رشته.
52. int(): تبدیل به عدد صحیح.
53. float(): تبدیل به عدد اعشاری.
54. bool(): تبدیل به True/False.
55. list(): ساخت لیست.
56. dict(): ساخت دیکشنری.
57. tuple(): ساخت tuple.
58. set(): ساخت set.
59. slicing: برش داده یا رشته [start:end:step].
60. negative indexing: اندیس منفی از انتها.
61. enumerate(): گرفتن اندیس و مقدار همزمان.
62. zip(): ترکیب چند لیست.
63. comprehension: ایجاد لیست با یک خط کد.
64. شرط در comprehension: فیلتر کردن عناصر.
65. map(): اعمال تابع روی مجموعهای از دادهها.
66. filter(): فیلتر دادهها با تابع.
67. lambda: تابع کوتاه بدون نام.
68. exception: خطا در زمان اجرا.
69. try: شروع بررسی خطا.
70. except: کد جایگزین در صورت خطا.
71. finally: اجرای کد همیشه.
72. raise: ایجاد خطا دستی.
73. assert: بررسی شرط و توقف در صورت نادرستی.
74. recursion: فراخوانی تابع خودش.
75. base case: شرط توقف recursion.
76. stack: ساختار داده LIFO.
77. queue: ساختار داده FIFO.
78. class: تعریف کلاس.
79. object: نمونهای از کلاس.
80. init(): تابع سازنده کلاس.
81. self: ارجاع به خود شیء.
82. method: تابع داخل کلاس.
83. attribute: متغیر داخل کلاس.
84. inheritance: ارثبری کلاسها.
85. override: بازنویسی متد کلاس والد.
86. encapsulation: پنهانسازی دادهها.
87. polymorphism: رفتار متفاوت یک تابع برای کلاسهای مختلف.
88. module: فایل پایتون با توابع و کلاسها.
89. package: مجموعهای از ماژولها.
90. sys: ماژول سیستم.
91. os: ماژول سیستمعامل.
92. path: مسیر فایلها و دایرکتوری.
93. open(): باز کردن فایل.
94. read(): خواندن محتوا.
95. write(): نوشتن در فایل.
96. close(): بستن فایل.
97. with: مدیریت خودکار باز و بسته کردن فایل.
98. exception در فایل: مدیریت خطاهای فایل.
99. append(): اضافه کردن به فایل یا لیست.
100. split(): تبدیل رشته به لیست.
---
۱۰۱–۲۰۰: شروع پایتون و کار با دادهها
101. join(): تبدیل لیست به رشته.
102. strip(): حذف فاصله اضافی.
103. lstrip(): حذف فاصله از ابتدا.
104. rstrip(): حذف فاصله از انتها.
105. replace(): جایگزینی کاراکترها.
106. find(): پیدا کردن اندیس substring.
107. index(): مثل find اما خطا در صورت نبود substring.
108. upper(): حروف بزرگ.
109. lower(): حروف کوچک.
110. title(): بزرگ کردن حرف اول هر کلمه.
111. capitalize(): بزرگ کردن حرف اول رشته.
112. count(): تعداد وقوع substring.
113. startswith(): بررسی شروع رشته.
114. endswith(): بررسی پایان رشته.
115. isalpha(): همه حروف الفبا؟
116. isdigit(): همه عدد؟
117. isnumeric(): همه عدد؟
118. isspace(): همه فاصله یا تب؟
119. islower(): همه حروف کوچک؟
120. isupper(): همه حروف بزرگ؟
121. format(): جایگذاری متغیرها.
122. f-string: جایگذاری سریع متغیرها.
123. escape sequence: \n, \t, \\.
124. raw string: r"\".
125. slicing با step: انتخاب عناصر فاصلهای.
126. reverse string: s[::-1].
127. splitlines(): تقسیم چندخطی.
128. max() و min() برای رشته و لیست.
129. sum() برای اعداد در لیست.
130. abs() برای قدر مطلق.
131. round() برای گرد کردن اعشار.
132. pow(): توان.
133. divmod(): حاصل تقسیم و باقیمانده.
134. enumerate(): اندیس و مقدار.
135. zip(): ترکیب لیستها.
136. any(): حداقل یک True.
137. all(): همه True.
138. map(): اعمال تابع روی لیست.
139. filter(): فیلتر لیست.
140. lambda: تابع کوتاه.
141. recursion: فراخوانی تابع خودش.
142. base case: شرط توقف recursion.
143. exception: خطاهای زمان اجرا.
144. try/except/finally.
145. raise: ایجاد خطا.
146. assert: بررسی شرط.
147. import: وارد کردن ماژول.
148. from … import …: وارد کردن موردی.
149. sys.argv: دریافت ورودی از خط فرمان.
150. help(): راهنمای توابع و ماژولها.
151. dir(): نمایش متدها و attribute ها.
152. globals(): متغیرهای سراسری.
153. locals(): متغیرهای محلی.
154. callable(): بررسی تابع بودن.
155. isinstance(): بررسی نوع داده.
156. type(): نوع داده.
157. id(): شناسه داده در حافظه.
158. memoryview(): مشاهده دادهها در حافظه.
159. bytearray(): آرایه بایت قابل تغییر.
160. bytes(): آرایه بایت غیرقابل تغییر.
161. bin(): نمایش عدد در مبنای ۲.
162. oct(): نمایش عدد در مبنای ۸.
163. hex(): نمایش عدد در مبنای ۱۶.
164. ord(): عدد یونیکد کاراکتر.
165. chr(): کاراکتر از عدد یونیکد.
166. format() با قالب بندی عدد.
167. string.Template(): قالب بندی رشتهها.
168. re module: کار با regex.
169. match(), search(), findall(), sub() در regex.
170. slice object: ساخت برش سفارشی.
171. copy(): کپی شیء.
172. deepcopy(): کپی کامل شیء تو در تو.
173. id() برای بررسی مرجع.
174. str(): نمایش رشتهای کلاس.
175. repr(): نمایش رسمی کلاس.
176. len(): طول کلاس.
177. getitem(): دسترسی با [].
178. setitem(): اختصاص مقدار با [].
179. delitem(): حذف عنصر با [].
180. iter(): کلاس قابل حلقه؟
181. next(): گرفتن عنصر بعدی در حلقه.
182. generator: تولید دنباله با yield.
183. yield: تولید مقدار بدون توقف برنامه.
184. next(): گرفتن مقدار بعدی generator.
185. comprehension: ساخت سریع لیست، set، dict.
186. nested comprehension: لیست داخل لیست.
187. dictionary comprehension: ساخت سریع دیکشنری.
188. set comprehension: ساخت سریع set.
189. slicing در comprehension.
190. if شرطی در comprehension.
191. else شرطی در comprehension.
192. multiple for در comprehension.
193. unpacking: باز کردن tuple یا لیست.
194. *args: تعداد متغیر دلخواه.
195. **kwargs: تعداد متغیر دلخواه با نام.
196. positional arguments: آرگومانهای موقعیتی.
197. keyword arguments: آرگومانهای نامی.
198. default arguments: مقدار پیشفرض آرگومان.
199. mutable vs immutable: تغییرپذیری دادهها.
200. string، tuple، int: immutable؛ list، dict، set: mutable.
---
۲۰۱–۳۰۰: رشتهها، ترفندها و تمرینها
201. concatenate با join در حلقهها: بهینهتر از +.
202. تبدیل لیست به رشته با جداکننده دلخواه: ",".join(["a","b"]) → a,b.
203. تبدیل رشته به لیست کاراکترها: list("Hello") → ['H','e','l','l','o'].
204. حذف کاراکترها با replace در حلقه.
205. تبدیل رشته به حروف کوچک قبل پردازش.
206. تبدیل رشته به حروف بزرگ قبل پردازش.
207. استفاده از slicing برای حذف ابتدا یا انتها: s[1:-1].
208. برش رشته با گام منفی: برعکس کردن رشته.
209. چک کردن substring با in.
105. replace(): جایگزینی کاراکترها.
106. find(): پیدا کردن اندیس substring.
107. index(): مثل find اما خطا در صورت نبود substring.
108. upper(): حروف بزرگ.
109. lower(): حروف کوچک.
110. title(): بزرگ کردن حرف اول هر کلمه.
111. capitalize(): بزرگ کردن حرف اول رشته.
112. count(): تعداد وقوع substring.
113. startswith(): بررسی شروع رشته.
114. endswith(): بررسی پایان رشته.
115. isalpha(): همه حروف الفبا؟
116. isdigit(): همه عدد؟
117. isnumeric(): همه عدد؟
118. isspace(): همه فاصله یا تب؟
119. islower(): همه حروف کوچک؟
120. isupper(): همه حروف بزرگ؟
121. format(): جایگذاری متغیرها.
122. f-string: جایگذاری سریع متغیرها.
123. escape sequence: \n, \t, \\.
124. raw string: r"\".
125. slicing با step: انتخاب عناصر فاصلهای.
126. reverse string: s[::-1].
127. splitlines(): تقسیم چندخطی.
128. max() و min() برای رشته و لیست.
129. sum() برای اعداد در لیست.
130. abs() برای قدر مطلق.
131. round() برای گرد کردن اعشار.
132. pow(): توان.
133. divmod(): حاصل تقسیم و باقیمانده.
134. enumerate(): اندیس و مقدار.
135. zip(): ترکیب لیستها.
136. any(): حداقل یک True.
137. all(): همه True.
138. map(): اعمال تابع روی لیست.
139. filter(): فیلتر لیست.
140. lambda: تابع کوتاه.
141. recursion: فراخوانی تابع خودش.
142. base case: شرط توقف recursion.
143. exception: خطاهای زمان اجرا.
144. try/except/finally.
145. raise: ایجاد خطا.
146. assert: بررسی شرط.
147. import: وارد کردن ماژول.
148. from … import …: وارد کردن موردی.
149. sys.argv: دریافت ورودی از خط فرمان.
150. help(): راهنمای توابع و ماژولها.
151. dir(): نمایش متدها و attribute ها.
152. globals(): متغیرهای سراسری.
153. locals(): متغیرهای محلی.
154. callable(): بررسی تابع بودن.
155. isinstance(): بررسی نوع داده.
156. type(): نوع داده.
157. id(): شناسه داده در حافظه.
158. memoryview(): مشاهده دادهها در حافظه.
159. bytearray(): آرایه بایت قابل تغییر.
160. bytes(): آرایه بایت غیرقابل تغییر.
161. bin(): نمایش عدد در مبنای ۲.
162. oct(): نمایش عدد در مبنای ۸.
163. hex(): نمایش عدد در مبنای ۱۶.
164. ord(): عدد یونیکد کاراکتر.
165. chr(): کاراکتر از عدد یونیکد.
166. format() با قالب بندی عدد.
167. string.Template(): قالب بندی رشتهها.
168. re module: کار با regex.
169. match(), search(), findall(), sub() در regex.
170. slice object: ساخت برش سفارشی.
171. copy(): کپی شیء.
172. deepcopy(): کپی کامل شیء تو در تو.
173. id() برای بررسی مرجع.
174. str(): نمایش رشتهای کلاس.
175. repr(): نمایش رسمی کلاس.
176. len(): طول کلاس.
177. getitem(): دسترسی با [].
178. setitem(): اختصاص مقدار با [].
179. delitem(): حذف عنصر با [].
180. iter(): کلاس قابل حلقه؟
181. next(): گرفتن عنصر بعدی در حلقه.
182. generator: تولید دنباله با yield.
183. yield: تولید مقدار بدون توقف برنامه.
184. next(): گرفتن مقدار بعدی generator.
185. comprehension: ساخت سریع لیست، set، dict.
186. nested comprehension: لیست داخل لیست.
187. dictionary comprehension: ساخت سریع دیکشنری.
188. set comprehension: ساخت سریع set.
189. slicing در comprehension.
190. if شرطی در comprehension.
191. else شرطی در comprehension.
192. multiple for در comprehension.
193. unpacking: باز کردن tuple یا لیست.
194. *args: تعداد متغیر دلخواه.
195. **kwargs: تعداد متغیر دلخواه با نام.
196. positional arguments: آرگومانهای موقعیتی.
197. keyword arguments: آرگومانهای نامی.
198. default arguments: مقدار پیشفرض آرگومان.
199. mutable vs immutable: تغییرپذیری دادهها.
200. string، tuple، int: immutable؛ list، dict، set: mutable.
---
۲۰۱–۳۰۰: رشتهها، ترفندها و تمرینها
201. concatenate با join در حلقهها: بهینهتر از +.
202. تبدیل لیست به رشته با جداکننده دلخواه: ",".join(["a","b"]) → a,b.
203. تبدیل رشته به لیست کاراکترها: list("Hello") → ['H','e','l','l','o'].
204. حذف کاراکترها با replace در حلقه.
205. تبدیل رشته به حروف کوچک قبل پردازش.
206. تبدیل رشته به حروف بزرگ قبل پردازش.
207. استفاده از slicing برای حذف ابتدا یا انتها: s[1:-1].
208. برش رشته با گام منفی: برعکس کردن رشته.
209. چک کردن substring با in.
210. چک کردن عدم وجود substring با not in.
211. f-string با محاسبات: f"{2+3}" → 5.
212. f-string با فرمت عدد: f"{3.14159:.3f}" → 3.142.
213. چند خطی با f-string: f"""Line1 {var1}\nLine2 {var2}""".
214. نمایش صفر پیشرو: f"{5:03}" → 005.
215. چپ/راست/وسطچین در f-string: f"{x:^10}".
216. ترکیب f-string و متدها: f"{name.upper()}".
217. چاپ چند متغیر با فرمت یکسان: f"{x:5} {y:5}".
218. replace با تعداد مشخص: s.replace("a","b",2).
219. جایگزینی از ابتدا یا انتها با rreplace (کتابخانهای).
220. index و find در حلقه برای یافتن چندین occurrence.
221. استفاده از split و join برای پاکسازی متن.
222. strip با چند کاراکتر: s.strip(" x\n").
223. پیدا کردن substring با حلقه و find.
224. چک کردن prefix و suffix قبل پردازش رشته.
225. تعداد حروف خاص با حلقه و شرط.
226. ایجاد رشته جدید با شرط روی کاراکترها.
227. تبدیل رشته به لیست کلمات با split.
228. برعکس کردن کلمات با slicing.
229. تبدیل حروف کوچک به بزرگ با map و lambda.
230. حذف کاراکترهای غیرمجاز با شرط و join.
231. شمارش چند substring همزمان.
232. چک کردن تمام کاراکترها با all().
233. چک کردن وجود حداقل یک کاراکتر با any().
234. حلقه روی لیست کاراکترها.
235. حلقه تو در تو برای بررسی چند شرط روی رشتهها.
236. TypeError: وقتی رشته + عدد بدون تبدیل.
237. IndexError: دسترسی به اندیس خارج از محدوده.
238. ValueError: تبدیل رشته غیرعددی به عدد.
239. AttributeError: استفاده از متد نامناسب روی رشته.
240. UnicodeError: مشکل در رمزگذاری متن.
241. KeyError در دیکشنری: هنگام استفاده از split برای ایجاد کلید.
242. OverflowError: در عملیات عددی مرتبط با رشتههای عددی خیلی بزرگ.
243. encode(): تبدیل رشته به بایت.
244. decode(): تبدیل بایت به رشته.
245. utf-8 پیشفرض پایتون.
246. استفاده از escape برای کاراکترهای خاص.
247. نمایش کد یونیکد کاراکتر: ord().
248. تبدیل کد یونیکد به کاراکتر: chr().
249. رشته خام با r"" برای مسیرها.
250. Unicode normalization با unicodedata.normalize.
251. شمارش تعداد کلمات در متن.
252. تبدیل حروف کوچک و بزرگ متن.
253. حذف فاصله اضافی از متن.
254. جایگزینی کلمات خاص در متن.
255. برعکس کردن رشته.
256. برعکس کردن کلمات جمله.
257. چاپ تنها حروف یا اعداد متن.
258. چاپ کاراکترهای تکراری.
259. چاپ کاراکترهای غیرتکراری.
260. ایجاد حروف بزرگ اول هر کلمه.
261. ایجاد حروف کوچک اول هر کلمه.
262. شمارش تعداد حروف بزرگ و کوچک.
263. شمارش تعداد فاصلهها و تبها.
264. برش متن از یک اندیس تا اندیس دیگر.
265. چاپ چند خط آخر متن.
266. رشتهها غیرقابل تغییرند، بنابراین همیشه یک رشته جدید میسازند.
267. ترکیب رشتهها در حلقه با + کند است، از join استفاده کنید.
268. برای بررسی substring از in بهتر از find است.
269. f-string سریعتر از format() است.
270. برای بزرگ و کوچک کردن متن سریع از str.upper/lower استفاده کنید.
271. برای حذف نویز متن از strip و replace استفاده کنید.
272. split و join ترکیبی برای پاکسازی متن کاربردی است.
273. استفاده از slicing برای انتخاب بخش خاص سریع است.
274. کار با رشتههای چندخطی با splitlines راحتتر است.
275. f-string میتواند با محاسبات و توابع داخلی ترکیب شود.
276. برش و چاپ حروف زوج یک متن.
277. برش و چاپ حروف فرد یک متن.
278. شمارش تعداد occurrence یک کاراکتر در رشته با count().
279. جایگزینی چند substring همزمان با حلقه و replace.
280. شمارش تعداد کلمات با split و len.
281. شمارش تعداد حروف با حلقه و شرط.
282. پیدا کردن اندیس اولین occurrence با find.
283. پیدا کردن اندیس آخر occurrence با rfind.
284. بررسی اینکه رشته عددی است یا نه با isdigit.
285. بررسی اینکه رشته شامل حروف است یا نه با isalpha.
286. بررسی اینکه رشته فقط فاصله است یا نه با isspace.
287. تبدیل لیست حروف به رشته با join.
288. جدا کردن رشته با جداکننده دلخواه با split.
289. حذف فاصلههای اضافی ابتدا و انتها با strip.
290. حذف فاصلههای ابتدا با lstrip.
291. حذف فاصلههای انتها با rstrip.
292. بزرگ کردن حرف اول رشته با capitalize.
293. بزرگ کردن حرف اول هر کلمه با title.
294. کوچک کردن کل رشته با lower.
295. بزرگ کردن کل رشته با upper.
296. پیدا کردن substring با in و not in.
297. ترکیب رشتهها با + یا join.
298. فرمتدهی رشته با format().
299. فرمتدهی سریع رشته با f-string.
300. نمایش متن چند خطی با triple quotes ("""text""").
211. f-string با محاسبات: f"{2+3}" → 5.
212. f-string با فرمت عدد: f"{3.14159:.3f}" → 3.142.
213. چند خطی با f-string: f"""Line1 {var1}\nLine2 {var2}""".
214. نمایش صفر پیشرو: f"{5:03}" → 005.
215. چپ/راست/وسطچین در f-string: f"{x:^10}".
216. ترکیب f-string و متدها: f"{name.upper()}".
217. چاپ چند متغیر با فرمت یکسان: f"{x:5} {y:5}".
218. replace با تعداد مشخص: s.replace("a","b",2).
219. جایگزینی از ابتدا یا انتها با rreplace (کتابخانهای).
220. index و find در حلقه برای یافتن چندین occurrence.
221. استفاده از split و join برای پاکسازی متن.
222. strip با چند کاراکتر: s.strip(" x\n").
223. پیدا کردن substring با حلقه و find.
224. چک کردن prefix و suffix قبل پردازش رشته.
225. تعداد حروف خاص با حلقه و شرط.
226. ایجاد رشته جدید با شرط روی کاراکترها.
227. تبدیل رشته به لیست کلمات با split.
228. برعکس کردن کلمات با slicing.
229. تبدیل حروف کوچک به بزرگ با map و lambda.
230. حذف کاراکترهای غیرمجاز با شرط و join.
231. شمارش چند substring همزمان.
232. چک کردن تمام کاراکترها با all().
233. چک کردن وجود حداقل یک کاراکتر با any().
234. حلقه روی لیست کاراکترها.
235. حلقه تو در تو برای بررسی چند شرط روی رشتهها.
236. TypeError: وقتی رشته + عدد بدون تبدیل.
237. IndexError: دسترسی به اندیس خارج از محدوده.
238. ValueError: تبدیل رشته غیرعددی به عدد.
239. AttributeError: استفاده از متد نامناسب روی رشته.
240. UnicodeError: مشکل در رمزگذاری متن.
241. KeyError در دیکشنری: هنگام استفاده از split برای ایجاد کلید.
242. OverflowError: در عملیات عددی مرتبط با رشتههای عددی خیلی بزرگ.
243. encode(): تبدیل رشته به بایت.
244. decode(): تبدیل بایت به رشته.
245. utf-8 پیشفرض پایتون.
246. استفاده از escape برای کاراکترهای خاص.
247. نمایش کد یونیکد کاراکتر: ord().
248. تبدیل کد یونیکد به کاراکتر: chr().
249. رشته خام با r"" برای مسیرها.
250. Unicode normalization با unicodedata.normalize.
251. شمارش تعداد کلمات در متن.
252. تبدیل حروف کوچک و بزرگ متن.
253. حذف فاصله اضافی از متن.
254. جایگزینی کلمات خاص در متن.
255. برعکس کردن رشته.
256. برعکس کردن کلمات جمله.
257. چاپ تنها حروف یا اعداد متن.
258. چاپ کاراکترهای تکراری.
259. چاپ کاراکترهای غیرتکراری.
260. ایجاد حروف بزرگ اول هر کلمه.
261. ایجاد حروف کوچک اول هر کلمه.
262. شمارش تعداد حروف بزرگ و کوچک.
263. شمارش تعداد فاصلهها و تبها.
264. برش متن از یک اندیس تا اندیس دیگر.
265. چاپ چند خط آخر متن.
266. رشتهها غیرقابل تغییرند، بنابراین همیشه یک رشته جدید میسازند.
267. ترکیب رشتهها در حلقه با + کند است، از join استفاده کنید.
268. برای بررسی substring از in بهتر از find است.
269. f-string سریعتر از format() است.
270. برای بزرگ و کوچک کردن متن سریع از str.upper/lower استفاده کنید.
271. برای حذف نویز متن از strip و replace استفاده کنید.
272. split و join ترکیبی برای پاکسازی متن کاربردی است.
273. استفاده از slicing برای انتخاب بخش خاص سریع است.
274. کار با رشتههای چندخطی با splitlines راحتتر است.
275. f-string میتواند با محاسبات و توابع داخلی ترکیب شود.
276. برش و چاپ حروف زوج یک متن.
277. برش و چاپ حروف فرد یک متن.
278. شمارش تعداد occurrence یک کاراکتر در رشته با count().
279. جایگزینی چند substring همزمان با حلقه و replace.
280. شمارش تعداد کلمات با split و len.
281. شمارش تعداد حروف با حلقه و شرط.
282. پیدا کردن اندیس اولین occurrence با find.
283. پیدا کردن اندیس آخر occurrence با rfind.
284. بررسی اینکه رشته عددی است یا نه با isdigit.
285. بررسی اینکه رشته شامل حروف است یا نه با isalpha.
286. بررسی اینکه رشته فقط فاصله است یا نه با isspace.
287. تبدیل لیست حروف به رشته با join.
288. جدا کردن رشته با جداکننده دلخواه با split.
289. حذف فاصلههای اضافی ابتدا و انتها با strip.
290. حذف فاصلههای ابتدا با lstrip.
291. حذف فاصلههای انتها با rstrip.
292. بزرگ کردن حرف اول رشته با capitalize.
293. بزرگ کردن حرف اول هر کلمه با title.
294. کوچک کردن کل رشته با lower.
295. بزرگ کردن کل رشته با upper.
296. پیدا کردن substring با in و not in.
297. ترکیب رشتهها با + یا join.
298. فرمتدهی رشته با format().
299. فرمتدهی سریع رشته با f-string.
300. نمایش متن چند خطی با triple quotes ("""text""").
۵۰ سوال و جواب فصل رشتهها با توضیح متدها
---
۱. تعریف و ایجاد رشتهها (سوال 1–10)
1. رشته چیست؟
رشته (String) مجموعهای از کاراکترهاست که با ' ' یا " " تعریف میشود.
s = "سلام"
2. چگونه رشته خالی ایجاد کنیم؟
s = ""
3. فرق رشته با لیست چیست؟
رشته immutable است (غیرقابل تغییر)، لیست قابل تغییر است.
4. چند روش تعریف رشته؟
'Hello'
"Hello"
"""Hello World""" برای چندخطی
5. دسترسی به اولین کاراکتر؟
s = "Python"
s[0] # 'P'
6. دسترسی به آخرین کاراکتر؟
s[-1] # 'n'
7. برش رشته با slicing؟
s[1:4] # 'yth'
8. برش با step؟
s[::2] # 'Pto'
9. رشته چندخطی؟
"""Hello
World"""
10. چگونه رشته معکوس میشود؟
s[::-1] # 'nohtyP'
---
۲. متدهای پایه رشتهها (سوال 11–20)
11. len(): طول رشته را برمیگرداند.
len("Python") # 6
12. upper(): تبدیل همه حروف به بزرگ.
"abc".upper() # 'ABC'
13. lower(): تبدیل همه حروف به کوچک.
"ABC".lower() # 'abc'
14. capitalize(): حرف اول بزرگ، بقیه کوچک.
"hello world".capitalize() # 'Hello world'
15. title(): حرف اول هر کلمه بزرگ.
"hello world".title() # 'Hello World'
16. strip(): حذف فاصله یا کاراکتر اضافی از ابتدا و انتها.
" text ".strip() # 'text'
17. lstrip() و rstrip(): حذف فاصله سمت چپ یا راست.
" text ".lstrip() # 'text '
" text ".rstrip() # ' text'
18. replace(): جایگزینی substring
"abc abc".replace("a","x") # 'xbc xbc'
19. count(): تعداد تکرار substring
"banana".count("a") # 3
20. isdigit(): بررسی عدد بودن رشته
"123".isdigit() # True
---
۳. متدهای ترکیبی و قالببندی (سوال 21–30)
21. چسباندن رشتهها با +
"Hello " + "World" # 'Hello World'
22. join(): ترکیب لیست رشتهها با جداکننده
"-".join(["2025","08","14"]) # '2025-08-14'
23. split(): تبدیل رشته به لیست با جداکننده
"a,b,c".split(",") # ['a','b','c']
24. splitlines(): جدا کردن خطوط
"a\nb\nc".splitlines() # ['a','b','c']
25. list(): تبدیل رشته به لیست کاراکترها
list("Python") # ['P','y','t','h','o','n']
26. format(): جایگذاری متغیر در رشته
"Name: {}".format("Ali") # 'Name: Ali'
27. f-string: جایگذاری راحتتر و محاسبه داخل {}
name="Ali"
f"Name: {name}" # 'Name: Ali'
f"{2+3}" # '5'
28. نمایش float با تعداد مشخص اعشار
f"{3.14159:.2f}" # '3.14'
29. چند جایگاه در format()
"{} + {} = {}".format(2,3,5) # '2 + 3 = 5'
30. escape characters: \n برای خط جدید، \t برای تب
print("Hello\nWorld")
print("A\tB")
---
۴. بررسی و جستجو در رشتهها (سوال 31–40)
31. بررسی وجود substring
"py" in "Python" # True
32. بررسی عدم وجود substring
"java" not in "Python" # True
33. startswith(): بررسی شروع رشته
"Python".startswith("Py") # True
34. endswith(): بررسی پایان رشته
"Python".endswith("on") # True
35. find(): پیدا کردن اندیس اولین occurrence
"Python".find("t") # 2
36. rfind(): پیدا کردن از سمت راست
"banana".rfind("a") # 5
37. index(): پیدا کردن اندیس با خطا در صورت نبود substring
"Python".index("t") # 2
38. rindex(): مشابه index از راست
"banana".rindex("a") # 5
39. isalpha(): بررسی حروف بودن همه رشته
"abc".isalpha() # True
40. isalnum(): بررسی حروف یا عدد بودن
"abc123".isalnum() # True
---
۵. بررسی بیشتر و تغییر حروف (سوال 41–50)
41. isspace(): بررسی فاصلهها
" ".isspace() # True
42. isupper(): همه حروف بزرگ؟
"ABC".isupper() # True
43. islower(): همه حروف کوچک؟
"abc".islower() # True
44. swapcase(): تغییر بزرگ به کوچک و بالعکس
"AbC".swapcase() # 'aBc'
45. center(): وسط چین کردن با کاراکتر دلخواه
"hi".center(5,"-") # '--hi-'
46. ljust() و rjust(): چپ و راست چین
"hi".ljust(5,"-") # 'hi---'
"hi".rjust(5,"-") # '---hi'
47. zfill(): پر کردن با صفر
"42".zfill(5) # '00042'
48. partition(): تقسیم به سه قسمت براساس substring
"a-b-c".partition("-") # ('a','-','b-c')
49. rpartition(): مشابه partition از راست
"a-b-c".rpartition("-") # ('a-b','-','c')
50. casefold(): مشابه lower ولی حساسیت کمتر به زبانها
"ß".casefold() # 'ss'
---
✅ این ۵۰ سوال شامل تمام متدهای مهم، بررسی و قالببندی رشتهها هستند و برای مرور فصل رشتهها کامل است.
---
۱. تعریف و ایجاد رشتهها (سوال 1–10)
1. رشته چیست؟
رشته (String) مجموعهای از کاراکترهاست که با ' ' یا " " تعریف میشود.
s = "سلام"
2. چگونه رشته خالی ایجاد کنیم؟
s = ""
3. فرق رشته با لیست چیست؟
رشته immutable است (غیرقابل تغییر)، لیست قابل تغییر است.
4. چند روش تعریف رشته؟
'Hello'
"Hello"
"""Hello World""" برای چندخطی
5. دسترسی به اولین کاراکتر؟
s = "Python"
s[0] # 'P'
6. دسترسی به آخرین کاراکتر؟
s[-1] # 'n'
7. برش رشته با slicing؟
s[1:4] # 'yth'
8. برش با step؟
s[::2] # 'Pto'
9. رشته چندخطی؟
"""Hello
World"""
10. چگونه رشته معکوس میشود؟
s[::-1] # 'nohtyP'
---
۲. متدهای پایه رشتهها (سوال 11–20)
11. len(): طول رشته را برمیگرداند.
len("Python") # 6
12. upper(): تبدیل همه حروف به بزرگ.
"abc".upper() # 'ABC'
13. lower(): تبدیل همه حروف به کوچک.
"ABC".lower() # 'abc'
14. capitalize(): حرف اول بزرگ، بقیه کوچک.
"hello world".capitalize() # 'Hello world'
15. title(): حرف اول هر کلمه بزرگ.
"hello world".title() # 'Hello World'
16. strip(): حذف فاصله یا کاراکتر اضافی از ابتدا و انتها.
" text ".strip() # 'text'
17. lstrip() و rstrip(): حذف فاصله سمت چپ یا راست.
" text ".lstrip() # 'text '
" text ".rstrip() # ' text'
18. replace(): جایگزینی substring
"abc abc".replace("a","x") # 'xbc xbc'
19. count(): تعداد تکرار substring
"banana".count("a") # 3
20. isdigit(): بررسی عدد بودن رشته
"123".isdigit() # True
---
۳. متدهای ترکیبی و قالببندی (سوال 21–30)
21. چسباندن رشتهها با +
"Hello " + "World" # 'Hello World'
22. join(): ترکیب لیست رشتهها با جداکننده
"-".join(["2025","08","14"]) # '2025-08-14'
23. split(): تبدیل رشته به لیست با جداکننده
"a,b,c".split(",") # ['a','b','c']
24. splitlines(): جدا کردن خطوط
"a\nb\nc".splitlines() # ['a','b','c']
25. list(): تبدیل رشته به لیست کاراکترها
list("Python") # ['P','y','t','h','o','n']
26. format(): جایگذاری متغیر در رشته
"Name: {}".format("Ali") # 'Name: Ali'
27. f-string: جایگذاری راحتتر و محاسبه داخل {}
name="Ali"
f"Name: {name}" # 'Name: Ali'
f"{2+3}" # '5'
28. نمایش float با تعداد مشخص اعشار
f"{3.14159:.2f}" # '3.14'
29. چند جایگاه در format()
"{} + {} = {}".format(2,3,5) # '2 + 3 = 5'
30. escape characters: \n برای خط جدید، \t برای تب
print("Hello\nWorld")
print("A\tB")
---
۴. بررسی و جستجو در رشتهها (سوال 31–40)
31. بررسی وجود substring
"py" in "Python" # True
32. بررسی عدم وجود substring
"java" not in "Python" # True
33. startswith(): بررسی شروع رشته
"Python".startswith("Py") # True
34. endswith(): بررسی پایان رشته
"Python".endswith("on") # True
35. find(): پیدا کردن اندیس اولین occurrence
"Python".find("t") # 2
36. rfind(): پیدا کردن از سمت راست
"banana".rfind("a") # 5
37. index(): پیدا کردن اندیس با خطا در صورت نبود substring
"Python".index("t") # 2
38. rindex(): مشابه index از راست
"banana".rindex("a") # 5
39. isalpha(): بررسی حروف بودن همه رشته
"abc".isalpha() # True
40. isalnum(): بررسی حروف یا عدد بودن
"abc123".isalnum() # True
---
۵. بررسی بیشتر و تغییر حروف (سوال 41–50)
41. isspace(): بررسی فاصلهها
" ".isspace() # True
42. isupper(): همه حروف بزرگ؟
"ABC".isupper() # True
43. islower(): همه حروف کوچک؟
"abc".islower() # True
44. swapcase(): تغییر بزرگ به کوچک و بالعکس
"AbC".swapcase() # 'aBc'
45. center(): وسط چین کردن با کاراکتر دلخواه
"hi".center(5,"-") # '--hi-'
46. ljust() و rjust(): چپ و راست چین
"hi".ljust(5,"-") # 'hi---'
"hi".rjust(5,"-") # '---hi'
47. zfill(): پر کردن با صفر
"42".zfill(5) # '00042'
48. partition(): تقسیم به سه قسمت براساس substring
"a-b-c".partition("-") # ('a','-','b-c')
49. rpartition(): مشابه partition از راست
"a-b-c".rpartition("-") # ('a-b','-','c')
50. casefold(): مشابه lower ولی حساسیت کمتر به زبانها
"ß".casefold() # 'ss'
---
✅ این ۵۰ سوال شامل تمام متدهای مهم، بررسی و قالببندی رشتهها هستند و برای مرور فصل رشتهها کامل است.
ادامه
فصل رشته ها
۵۱–۱۰۰: سوالات پیشرفته رشتهها با جواب و مثال
---
۵۱–۶۰: کار با substring و جستجو پیشرفته
51. چگونه substring را جدا کنیم؟
s = "Python"
sub = s[1:4] # 'yth'
52. چگونه substring را تکرار کنیم؟
"Hi" * 3 # 'HiHiHi'
53. بررسی وجود substring با find()
s = "Python"
if s.find("tho") != -1:
print("Found") # Found
54. بررسی وجود substring با in
if "tho" in "Python":
print("Found") # Found
55. برش رشته با negative index
s = "Python"
s[-4:-1] # 'tho'
56. ترکیب slicing و step
s = "Python"
s[1:6:2] # 'yhn'
57. کپی رشته
s = "abc"
t = s[:] # 'abc'
58. چگونه substring را از ابتدا حذف کنیم
s = "Hello"
s[1:] # 'ello'
59. چگونه substring را از انتها حذف کنیم
s = "Hello"
s[:-1] # 'Hell'
60. چگونه آخرین n کاراکتر را جدا کنیم
s = "Hello"
s[-3:] # 'llo'
---
۶۱–۷۰: جایگذاری و قالببندی پیشرفته
61. چند متغیر در f-string
name="Ali"; age=20
f"{name} is {age} years old" # 'Ali is 20 years old'
62. فرمت float با ۳ رقم اعشار
f"{3.14159:.3f}" # '3.142'
63. فرمت عدد با padding
f"{42:05}" # '00042'
64. align کردن رشته در f-string
f"{'Hi':<10}" # 'Hi '
f"{'Hi':>10}" # ' Hi'
f"{'Hi':^10}" # ' Hi '
65. قالببندی درصد
f"{0.25:.0%}" # '25%'
66. چند جایگاه در format() با index
"{0} + {1} = {2}".format(2,3,5) # '2 + 3 = 5'
67. جایگاه با نام
"{name} is {age}".format(name="Ali", age=20) # 'Ali is 20'
68. قالببندی رشته چندخطی
s = """Hello
World"""
print(s)
69. اضافه کردن escape characters
print("Line1\nLine2\tTab") # Line1 Line2(Tab)
70. استفاده از raw string برای path
r"C:\new\text.txt" # بدون escape کردن
---
۷۱–۸۰: تغییر حروف و بررسی پیشرفته
71. بررسی شروع و پایان با tuple
s = "Python"
s.startswith(("Py","Ja")) # True
s.endswith(("on","ed")) # True
72. isidentifier(): بررسی نام معتبر متغیر
"var1".isidentifier() # True
"1var".isidentifier() # False
73. isascii(): بررسی ASCII بودن کاراکترها
"Hello".isascii() # True
74. casefold() برای مقایسه بدون حساسیت به زبان
"ß".casefold() == "ss" # True
75. swapcase() برای معکوس کردن حروف بزرگ و کوچک
"AbC".swapcase() # 'aBc'
76. upper() و lower() با مقایسه
"abc".upper() == "ABC" # True
77. title() با کلمات چندحرفی
"hello world".title() # 'Hello World'
78. capitalize() با یک رشته
"hello".capitalize() # 'Hello'
79. ljust(), rjust(), center() با padding
"Hi".ljust(5,"-") # 'Hi---'
"Hi".rjust(5,"-") # '---Hi'
"Hi".center(5,"-") # '--Hi-'
80. zfill() برای padding صفر
"42".zfill(5) # '00042'
---
۸۱–۹۰: تقسیم و ادغام رشتهها
81. split() با جداکننده خاص
"a,b,c".split(",") # ['a','b','c']
82. splitlines() برای جدا کردن خطوط
"a\nb\nc".splitlines() # ['a','b','c']
83. join() برای ادغام لیست
"-".join(["2025","08","14"]) # '2025-08-14'
84. partition() برای سه قسمت
"a-b-c".partition("-") # ('a','-','b-c')
85. rpartition() از سمت راست
"a-b-c".rpartition("-") # ('a-b','-','c')
86. merge با +
"Hello " + "World" # 'Hello World'
87. تکرار رشته
"Hi"*3 # 'HiHiHi'
88. تبدیل رشته به لیست کاراکتر
list("Python") # ['P','y','t','h','o','n']
89. تبدیل لیست به رشته با join
"".join(['P','y','t','h','o','n']) # 'Python'
90. strip() و حذف فاصله
" text ".strip() # 'text'
---
۹۱–۱۰۰: پیشرفته و کاربردی
91. lstrip() حذف فاصله چپ
" text".lstrip() # 'text'
92. rstrip() حذف فاصله راست
"text ".rstrip() # 'text'
93. replace() برای جایگزینی
"abc abc".replace("a","x") # 'xbc xbc'
94. count() تعداد substring
"banana".count("a") # 3
95. find() پیدا کردن اندیس
"Python".find("t") # 2
96. rfind() پیدا کردن از راست
"banana".rfind("a") # 5
97. index() پیدا کردن اندیس با خطا
"Python".index("t") # 2
98. rindex() از راست با خطا
"banana".rindex("a") # 5
99. isdigit() بررسی عدد بودن رشته
"123".isdigit() # True
100. isalnum() بررسی حروف و عدد
"abc123".isalnum() # True
فصل رشته ها
۵۱–۱۰۰: سوالات پیشرفته رشتهها با جواب و مثال
---
۵۱–۶۰: کار با substring و جستجو پیشرفته
51. چگونه substring را جدا کنیم؟
s = "Python"
sub = s[1:4] # 'yth'
52. چگونه substring را تکرار کنیم؟
"Hi" * 3 # 'HiHiHi'
53. بررسی وجود substring با find()
s = "Python"
if s.find("tho") != -1:
print("Found") # Found
54. بررسی وجود substring با in
if "tho" in "Python":
print("Found") # Found
55. برش رشته با negative index
s = "Python"
s[-4:-1] # 'tho'
56. ترکیب slicing و step
s = "Python"
s[1:6:2] # 'yhn'
57. کپی رشته
s = "abc"
t = s[:] # 'abc'
58. چگونه substring را از ابتدا حذف کنیم
s = "Hello"
s[1:] # 'ello'
59. چگونه substring را از انتها حذف کنیم
s = "Hello"
s[:-1] # 'Hell'
60. چگونه آخرین n کاراکتر را جدا کنیم
s = "Hello"
s[-3:] # 'llo'
---
۶۱–۷۰: جایگذاری و قالببندی پیشرفته
61. چند متغیر در f-string
name="Ali"; age=20
f"{name} is {age} years old" # 'Ali is 20 years old'
62. فرمت float با ۳ رقم اعشار
f"{3.14159:.3f}" # '3.142'
63. فرمت عدد با padding
f"{42:05}" # '00042'
64. align کردن رشته در f-string
f"{'Hi':<10}" # 'Hi '
f"{'Hi':>10}" # ' Hi'
f"{'Hi':^10}" # ' Hi '
65. قالببندی درصد
f"{0.25:.0%}" # '25%'
66. چند جایگاه در format() با index
"{0} + {1} = {2}".format(2,3,5) # '2 + 3 = 5'
67. جایگاه با نام
"{name} is {age}".format(name="Ali", age=20) # 'Ali is 20'
68. قالببندی رشته چندخطی
s = """Hello
World"""
print(s)
69. اضافه کردن escape characters
print("Line1\nLine2\tTab") # Line1 Line2(Tab)
70. استفاده از raw string برای path
r"C:\new\text.txt" # بدون escape کردن
---
۷۱–۸۰: تغییر حروف و بررسی پیشرفته
71. بررسی شروع و پایان با tuple
s = "Python"
s.startswith(("Py","Ja")) # True
s.endswith(("on","ed")) # True
72. isidentifier(): بررسی نام معتبر متغیر
"var1".isidentifier() # True
"1var".isidentifier() # False
73. isascii(): بررسی ASCII بودن کاراکترها
"Hello".isascii() # True
74. casefold() برای مقایسه بدون حساسیت به زبان
"ß".casefold() == "ss" # True
75. swapcase() برای معکوس کردن حروف بزرگ و کوچک
"AbC".swapcase() # 'aBc'
76. upper() و lower() با مقایسه
"abc".upper() == "ABC" # True
77. title() با کلمات چندحرفی
"hello world".title() # 'Hello World'
78. capitalize() با یک رشته
"hello".capitalize() # 'Hello'
79. ljust(), rjust(), center() با padding
"Hi".ljust(5,"-") # 'Hi---'
"Hi".rjust(5,"-") # '---Hi'
"Hi".center(5,"-") # '--Hi-'
80. zfill() برای padding صفر
"42".zfill(5) # '00042'
---
۸۱–۹۰: تقسیم و ادغام رشتهها
81. split() با جداکننده خاص
"a,b,c".split(",") # ['a','b','c']
82. splitlines() برای جدا کردن خطوط
"a\nb\nc".splitlines() # ['a','b','c']
83. join() برای ادغام لیست
"-".join(["2025","08","14"]) # '2025-08-14'
84. partition() برای سه قسمت
"a-b-c".partition("-") # ('a','-','b-c')
85. rpartition() از سمت راست
"a-b-c".rpartition("-") # ('a-b','-','c')
86. merge با +
"Hello " + "World" # 'Hello World'
87. تکرار رشته
"Hi"*3 # 'HiHiHi'
88. تبدیل رشته به لیست کاراکتر
list("Python") # ['P','y','t','h','o','n']
89. تبدیل لیست به رشته با join
"".join(['P','y','t','h','o','n']) # 'Python'
90. strip() و حذف فاصله
" text ".strip() # 'text'
---
۹۱–۱۰۰: پیشرفته و کاربردی
91. lstrip() حذف فاصله چپ
" text".lstrip() # 'text'
92. rstrip() حذف فاصله راست
"text ".rstrip() # 'text'
93. replace() برای جایگزینی
"abc abc".replace("a","x") # 'xbc xbc'
94. count() تعداد substring
"banana".count("a") # 3
95. find() پیدا کردن اندیس
"Python".find("t") # 2
96. rfind() پیدا کردن از راست
"banana".rfind("a") # 5
97. index() پیدا کردن اندیس با خطا
"Python".index("t") # 2
98. rindex() از راست با خطا
"banana".rindex("a") # 5
99. isdigit() بررسی عدد بودن رشته
"123".isdigit() # True
100. isalnum() بررسی حروف و عدد
"abc123".isalnum() # True
۱۰۰ سوال فصل لیستها (Lists) همراه جواب و توضیح کامل)، مشابه سبک رشتهها.
۱–۱۰: معرفی لیست و دسترسی به عناصر
1. چگونه یک لیست تعریف کنیم؟
my_list = [1, 2, 3, 4]
لیست مجموعهای از دادههاست که قابل تغییر است.
2. چگونه به اولین عنصر لیست دسترسی پیدا کنیم؟
my_list[0] # 1
3. چگونه به آخرین عنصر لیست دسترسی پیدا کنیم؟
my_list[-1] # 4
4. چگونه چند عنصر متوالی را جدا کنیم (slicing)؟
my_list[1:3] # [2, 3]
5. چگونه با step عناصر را جدا کنیم؟
my_list[::2] # [1, 3]
6. چگونه طول لیست را پیدا کنیم؟
len(my_list) # 4
7. چگونه بررسی کنیم یک عنصر در لیست وجود دارد؟
2 in my_list # True
8. چگونه یک لیست خالی تعریف کنیم؟
empty_list = []
9. چگونه نوع یک لیست را بررسی کنیم؟
type(my_list) # <class 'list'>
10. چگونه لیست را چاپ کنیم؟
print(my_list) # [1,2,3,4]
---
۱۱–۲۰: افزودن عناصر به لیست
11. افزودن عنصر به انتهای لیست با append()
my_list.append(5) # [1,2,3,4,5]
12. ادغام دو لیست با extend()
my_list.extend([6,7]) # [1,2,3,4,5,6,7]
13. افزودن عنصر در اندیس خاص با insert()
my_list.insert(0, 0) # [0,1,2,3,4,5,6,7]
14. افزودن چند عنصر با +
my_list = my_list + [8,9] # [0,1,2,3,4,5,6,7,8,9]
15. چگونه یک عنصر را تکرار کنیم؟
[1]*3 # [1,1,1]
16. چگونه یک لیست را درون لیست دیگر قرار دهیم؟
my_list.append([10,11]) # [0,1,...,9,[10,11]]
17. چگونه از extend برای اضافه کردن لیست استفاده کنیم؟
my_list.extend([12,13]) # عناصر جدا اضافه میشوند
18. چگونه طول لیست را بعد از اضافه کردن پیدا کنیم؟
len(my_list) # طول جدید
19. چگونه عنصر اول را با append تغییر دهیم؟
نیازی به append نیست، مستقیم تغییر میدهیم:
my_list[0] = 100
20. چگونه چند عنصر را با slicing جایگزین کنیم؟
my_list[1:3] = [200,300]
---
۲۱–۳۰: حذف عناصر
21. حذف عنصر با del
del my_list[0]
22. حذف با pop() و گرفتن مقدار حذف شده
x = my_list.pop() # حذف آخرین عنصر
23. حذف عنصر در اندیس خاص با pop(index)
x = my_list.pop(2)
24. حذف اولین عنصر با remove()
my_list.remove(200)
25. حذف همه عناصر با clear()
my_list.clear()
26. حذف بر اساس شرط با لیست کامپرهنشن
my_list = [x for x in my_list if x%2==0]
27. حذف عنصر در حلقه (مثال پیشرفته)
for x in my_list[:]:
if x<5:
my_list.remove(x)
28. چگونه آخرین n عنصر را حذف کنیم
my_list = my_list[:-3]
29. چگونه اولین n عنصر را حذف کنیم
my_list = my_list[3:]
30. حذف عنصر با شرط find و remove
if 3 in my_list:
my_list.remove(3)
۱–۱۰: معرفی لیست و دسترسی به عناصر
1. چگونه یک لیست تعریف کنیم؟
my_list = [1, 2, 3, 4]
لیست مجموعهای از دادههاست که قابل تغییر است.
2. چگونه به اولین عنصر لیست دسترسی پیدا کنیم؟
my_list[0] # 1
3. چگونه به آخرین عنصر لیست دسترسی پیدا کنیم؟
my_list[-1] # 4
4. چگونه چند عنصر متوالی را جدا کنیم (slicing)؟
my_list[1:3] # [2, 3]
5. چگونه با step عناصر را جدا کنیم؟
my_list[::2] # [1, 3]
6. چگونه طول لیست را پیدا کنیم؟
len(my_list) # 4
7. چگونه بررسی کنیم یک عنصر در لیست وجود دارد؟
2 in my_list # True
8. چگونه یک لیست خالی تعریف کنیم؟
empty_list = []
9. چگونه نوع یک لیست را بررسی کنیم؟
type(my_list) # <class 'list'>
10. چگونه لیست را چاپ کنیم؟
print(my_list) # [1,2,3,4]
---
۱۱–۲۰: افزودن عناصر به لیست
11. افزودن عنصر به انتهای لیست با append()
my_list.append(5) # [1,2,3,4,5]
12. ادغام دو لیست با extend()
my_list.extend([6,7]) # [1,2,3,4,5,6,7]
13. افزودن عنصر در اندیس خاص با insert()
my_list.insert(0, 0) # [0,1,2,3,4,5,6,7]
14. افزودن چند عنصر با +
my_list = my_list + [8,9] # [0,1,2,3,4,5,6,7,8,9]
15. چگونه یک عنصر را تکرار کنیم؟
[1]*3 # [1,1,1]
16. چگونه یک لیست را درون لیست دیگر قرار دهیم؟
my_list.append([10,11]) # [0,1,...,9,[10,11]]
17. چگونه از extend برای اضافه کردن لیست استفاده کنیم؟
my_list.extend([12,13]) # عناصر جدا اضافه میشوند
18. چگونه طول لیست را بعد از اضافه کردن پیدا کنیم؟
len(my_list) # طول جدید
19. چگونه عنصر اول را با append تغییر دهیم؟
نیازی به append نیست، مستقیم تغییر میدهیم:
my_list[0] = 100
20. چگونه چند عنصر را با slicing جایگزین کنیم؟
my_list[1:3] = [200,300]
---
۲۱–۳۰: حذف عناصر
21. حذف عنصر با del
del my_list[0]
22. حذف با pop() و گرفتن مقدار حذف شده
x = my_list.pop() # حذف آخرین عنصر
23. حذف عنصر در اندیس خاص با pop(index)
x = my_list.pop(2)
24. حذف اولین عنصر با remove()
my_list.remove(200)
25. حذف همه عناصر با clear()
my_list.clear()
26. حذف بر اساس شرط با لیست کامپرهنشن
my_list = [x for x in my_list if x%2==0]
27. حذف عنصر در حلقه (مثال پیشرفته)
for x in my_list[:]:
if x<5:
my_list.remove(x)
28. چگونه آخرین n عنصر را حذف کنیم
my_list = my_list[:-3]
29. چگونه اولین n عنصر را حذف کنیم
my_list = my_list[3:]
30. حذف عنصر با شرط find و remove
if 3 in my_list:
my_list.remove(3)
ادامه میدهیم از سوال ۳۱ تا ۱۰۰.
۳۱–۴۰: جستجو و شمارش
چگونه بررسی کنیم عنصری در لیست هست؟
چگونه اندیس اولین عنصر پیدا شود؟
چند بار یک عنصر تکرار شده؟
چگونه با حلقه عناصر را پیدا کنیم؟
چگونه همه اندیسها را پیدا کنیم؟
چگونه وجود یک عنصر را شرط کنیم؟
چگونه یک عنصر را با مقدار پیدا و جایگزین کنیم؟
چگونه اولین عنصر بزرگتر از 5 را پیدا کنیم؟
چگونه با حلقه for اندیس و مقدار را همزمان بگیریم؟
چگونه با while عنصر پیدا کنیم؟
۴۱–۵۰: مرتبسازی و معکوس کردن
چگونه لیست را صعودی مرتب کنیم؟
چگونه لیست را نزولی مرتب کنیم؟
چگونه نسخه مرتب شده بدون تغییر لیست بسازیم؟
چگونه لیست را معکوس کنیم؟
چگونه با slicing لیست را معکوس کنیم؟
چگونه بزرگترین عنصر را پیدا کنیم؟
چگونه کوچکترین عنصر را پیدا کنیم؟
چگونه مجموع عناصر را حساب کنیم؟
چگونه مرتبسازی بر اساس طول رشتهها انجام دهیم؟
چگونه مرتبسازی معکوس بر اساس کلید انجام دهیم؟
۵۱–۶۰: حلقهها روی لیست
چگونه روی لیست حلقه for بسازیم؟
چگونه از while روی لیست استفاده کنیم؟
چگونه تمام عناصر را دو برابر کنیم؟
چگونه عناصر را جمع کنیم؟
چگونه حلقه با شرط بسازیم؟
چگونه با enumerate هم اندیس و مقدار بگیریم؟
چگونه عناصر را با while حذف کنیم؟
چگونه با break حلقه را متوقف کنیم؟
چگونه با continue بعضی عناصر را رد کنیم؟
چگونه عناصر را با شرط در لیست جدید کپی کنیم؟
۶۱–۷۰: لیست تو در تو (Nested Lists)
چگونه یک لیست تو در تو بسازیم؟
چگونه به عنصر خاص دسترسی پیدا کنیم؟
چگونه طول یک لیست تو در تو را پیدا کنیم؟
چگونه یک حلقه روی ردیفها بسازیم؟
چگونه روی همه عناصر حلقه بسازیم؟
چگونه یک ردیف اضافه کنیم؟
چگونه یک ستون اضافه کنیم؟
چگونه ردیف حذف کنیم؟
چگونه یک ستون حذف کنیم؟
چگونه همه عناصر را در یک لیست صاف کنیم؟
۷۱–۸۰: توابع و متدهای کاربردی
چگونه با append عنصر اضافه کنیم؟
چگونه extend لیست دیگری را اضافه کنیم؟
چگونه insert عنصر اضافه کنیم؟
چگونه remove حذف کنیم؟
چگونه pop عنصر را حذف و مقدار بگیریم؟
چگونه clear تمام عناصر را حذف کنیم؟
چگونه copy نسخهای از لیست بسازیم؟
چگونه count تعداد عنصر را بشماریم؟
my_list.count(2)
چگونه index اندیس عنصر را پیدا کنیم؟
my_list.index(2)
چگونه sort مرتبسازی کنیم؟
my_list.sort()
۸۱–۹۰: ترکیب لیستها و عملیاتی روی آنها
چگونه دو لیست را با + ترکیب کنیم؟
a = [1,2]; b=[3,4] c = a+b # [1,2,3,4]
چگونه دو لیست را با * تکرار کنیم؟
[1]*3 # [1,1,1]
چگونه با zip دو لیست را ترکیب کنیم؟
list(zip([1,2],[3,4])) # [(1,3),(2,4)]
چگونه با enumerate اندیس و مقدار بگیریم؟
for i, val in enumerate([10,20]): print(i,val)
۳۱–۴۰: جستجو و شمارش
چگونه بررسی کنیم عنصری در لیست هست؟
3 in my_list # True/False چگونه اندیس اولین عنصر پیدا شود؟
my_list.index(3) چند بار یک عنصر تکرار شده؟
my_list.count(3) چگونه با حلقه عناصر را پیدا کنیم؟
for i in my_list: if i==3: print("Found") چگونه همه اندیسها را پیدا کنیم؟
[i for i, x in enumerate(my_list) if x==3] چگونه وجود یک عنصر را شرط کنیم؟
if 5 in my_list: print("Yes") چگونه یک عنصر را با مقدار پیدا و جایگزین کنیم؟
i = my_list.index(3) my_list[i] = 33 چگونه اولین عنصر بزرگتر از 5 را پیدا کنیم؟
next((x for x in my_list if x>5), None) چگونه با حلقه for اندیس و مقدار را همزمان بگیریم؟
for i, val in enumerate(my_list): print(i, val) چگونه با while عنصر پیدا کنیم؟
i=0 while i<len(my_list): if my_list[i]==3: break i+=1 ۴۱–۵۰: مرتبسازی و معکوس کردن
چگونه لیست را صعودی مرتب کنیم؟
my_list.sort() چگونه لیست را نزولی مرتب کنیم؟
my_list.sort(reverse=True) چگونه نسخه مرتب شده بدون تغییر لیست بسازیم؟
sorted_list = sorted(my_list) چگونه لیست را معکوس کنیم؟
my_list.reverse() چگونه با slicing لیست را معکوس کنیم؟
my_list[::-1] چگونه بزرگترین عنصر را پیدا کنیم؟
max(my_list) چگونه کوچکترین عنصر را پیدا کنیم؟
min(my_list) چگونه مجموع عناصر را حساب کنیم؟
sum(my_list) چگونه مرتبسازی بر اساس طول رشتهها انجام دهیم؟
words = ["apple","kiwi","banana"] words.sort(key=len) چگونه مرتبسازی معکوس بر اساس کلید انجام دهیم؟
words.sort(key=len, reverse=True) ۵۱–۶۰: حلقهها روی لیست
چگونه روی لیست حلقه for بسازیم؟
for x in my_list: print(x) چگونه از while روی لیست استفاده کنیم؟
i = 0 while i < len(my_list): print(my_list[i]) i+=1 چگونه تمام عناصر را دو برابر کنیم؟
for i in range(len(my_list)): my_list[i]*=2 چگونه عناصر را جمع کنیم؟
total = 0 for x in my_list: total += x چگونه حلقه با شرط بسازیم؟
for x in my_list: if x%2==0: print(x) چگونه با enumerate هم اندیس و مقدار بگیریم؟
for i, val in enumerate(my_list): print(i, val) چگونه عناصر را با while حذف کنیم؟
i=0 while i<len(my_list): if my_list[i]<5: my_list.pop(i) else: i+=1 چگونه با break حلقه را متوقف کنیم؟
for x in my_list: if x==10: break چگونه با continue بعضی عناصر را رد کنیم؟
for x in my_list: if x%2==1: continue print(x) چگونه عناصر را با شرط در لیست جدید کپی کنیم؟
evens = [x for x in my_list if x%2==0] ۶۱–۷۰: لیست تو در تو (Nested Lists)
چگونه یک لیست تو در تو بسازیم؟
matrix = [[1,2,3],[4,5,6],[7,8,9]] چگونه به عنصر خاص دسترسی پیدا کنیم؟
matrix[1][2] # 6 چگونه طول یک لیست تو در تو را پیدا کنیم؟
len(matrix) # 3 (تعداد ردیف) چگونه یک حلقه روی ردیفها بسازیم؟
for row in matrix: print(row) چگونه روی همه عناصر حلقه بسازیم؟
for row in matrix: for val in row: print(val) چگونه یک ردیف اضافه کنیم؟
matrix.append([10,11,12]) چگونه یک ستون اضافه کنیم؟
for row in matrix: row.append(0) چگونه ردیف حذف کنیم؟
matrix.pop(1) چگونه یک ستون حذف کنیم؟
for row in matrix: row.pop(2) چگونه همه عناصر را در یک لیست صاف کنیم؟
flat = [val for row in matrix for val in row] ۷۱–۸۰: توابع و متدهای کاربردی
چگونه با append عنصر اضافه کنیم؟
my_list.append(10) چگونه extend لیست دیگری را اضافه کنیم؟
my_list.extend([11,12]) چگونه insert عنصر اضافه کنیم؟
my_list.insert(0, 0) چگونه remove حذف کنیم؟
my_list.remove(10) چگونه pop عنصر را حذف و مقدار بگیریم؟
x = my_list.pop() چگونه clear تمام عناصر را حذف کنیم؟
my_list.clear() چگونه copy نسخهای از لیست بسازیم؟
copy_list = my_list.copy() چگونه count تعداد عنصر را بشماریم؟
my_list.count(2)
چگونه index اندیس عنصر را پیدا کنیم؟
my_list.index(2)
چگونه sort مرتبسازی کنیم؟
my_list.sort()
۸۱–۹۰: ترکیب لیستها و عملیاتی روی آنها
چگونه دو لیست را با + ترکیب کنیم؟
a = [1,2]; b=[3,4] c = a+b # [1,2,3,4]
چگونه دو لیست را با * تکرار کنیم؟
[1]*3 # [1,1,1]
چگونه با zip دو لیست را ترکیب کنیم؟
list(zip([1,2],[3,4])) # [(1,3),(2,4)]
چگونه با enumerate اندیس و مقدار بگیریم؟
for i, val in enumerate([10,20]): print(i,val)
فصل تاپل (Tuple) در پایتون – ۱۰۰ سوال با جواب و توضیح کامل. برای نظم، آنها را در بخشهای ۱۰ تایی ارائه میکنم.
۱–۱۰: تعریف و دسترسی به تاپل
1. تاپل چیست؟
یک نوع داده غیرقابل تغییر (immutable) که عناصر را به ترتیب نگه میدارد.
t = (1, 2, 3)
2. چگونه تاپل بسازیم؟
t = (10, 20, 30)
3. تاپل با یک عنصر چگونه ساخته میشود؟
t = (5,)
4. چگونه به عنصر خاص دسترسی پیدا کنیم؟
t[1] # 2
5. چگونه به عناصر منفی اندیس دسترسی پیدا کنیم؟
t[-1] # آخرین عنصر
6. چگونه طول تاپل را پیدا کنیم؟
len(t)
7. چگونه کل تاپل را چاپ کنیم؟
print(t)
8. چگونه slicing روی تاپل انجام دهیم؟
t[0:2] # عناصر از اندیس 0 تا 1
9. چگونه عناصر آخر تاپل را انتخاب کنیم؟
t[-2:] # دو عنصر آخر
10. چگونه کل تاپل را معکوس کنیم؟
t[::-1]
---
۱۱–۲۰: توابع و عملیات پایه روی تاپل
11. چگونه تاپل را با + ترکیب کنیم؟
t1 = (1,2); t2=(3,4)
t3 = t1 + t2 # (1,2,3,4)
12. چگونه تاپل را تکرار کنیم؟
t = (1,)*3 # (1,1,1)
13. چگونه بیشترین و کمترین عنصر را پیدا کنیم؟
max(t); min(t)
14. چگونه مجموع عناصر تاپل را پیدا کنیم؟
sum((1,2,3)) # 6
15. چگونه وجود یک عنصر را بررسی کنیم؟
3 in t # True/False
16. چگونه تعداد یک عنصر را بشماریم؟
t.count(2)
17. چگونه اندیس اولین عنصر را پیدا کنیم؟
t.index(3)
18. چگونه تاپل را به رشته تبدیل کنیم؟
",".join(map(str,(1,2,3))) # "1,2,3"
19. چگونه تاپل را به لیست تبدیل کنیم؟
list(t)
20. چگونه یک لیست را به تاپل تبدیل کنیم؟
tuple([1,2,3])
---
۲۱–۳۰: تاپل تو در تو و دسترسی پیشرفته
21. چگونه تاپل تو در تو بسازیم؟
t = (1,(2,3),4)
22. چگونه به عنصر داخلی دسترسی پیدا کنیم؟
t[1][0] # 2
23. چگونه طول تاپل تو در تو را پیدا کنیم؟
len(t) # تعداد عناصر بیرونی
24. چگونه با slicing روی تاپل تو در تو کار کنیم؟
t[1:] # ( (2,3), 4 )
25. چگونه عناصر تاپل را به صورت حلقه چاپ کنیم؟
for x in t:
print(x)
26. چگونه با enumerate اندیس و مقدار بگیریم؟
for i, val in enumerate(t):
print(i, val)
27. چگونه عناصر تاپل تو در تو را مسطح کنیم؟
flat = []
for x in t:
if isinstance(x, tuple):
flat.extend(x)
else:
flat.append(x)
28. چگونه با while روی تاپل حلقه بزنیم؟
i = 0
while i<len(t):
print(t[i])
i+=1
29. چگونه تاپل شامل رشته بسازیم؟
t = ("apple", "banana", "cherry")
30. چگونه رشتههای تاپل را با join ترکیب کنیم؟
",".join(t) # "apple,banana,cherry"
---
۳۱–۴۰: تغییر ناپذیری و ایمن بودن
31. چرا تاپل غیرقابل تغییر است؟
عناصر آن بعد از ایجاد قابل تغییر نیستند، امنیت دادهها بیشتر است.
32. آیا میتوان عنصر تاپل را تغییر داد؟
خیر، مثلا t[0]=10 خطا میدهد.
33. آیا میتوان تاپل را بزرگتر کرد؟
نه، فقط با ترکیب با تاپل دیگر میتوان نسخه جدید ساخت.
34. چگونه یک تاپل جدید با عنصر اضافه بسازیم؟
t = t + (5,)
35. چگونه تاپل را کوچک کنیم؟
با slicing:
t = t[:-1]
36. آیا عناصر داخل تاپل mutable میتوانند تغییر کنند؟
بله، مثلا لیست داخل تاپل قابل تغییر است:
t = (1,[2,3])
t[1].append(4)
37. چگونه ثابت بودن تاپل کمک میکند؟
برای استفاده در دیکشنری به عنوان کلید و دادههای حساس مناسب است.
38. چگونه با تاپل عملیات unpacking انجام دهیم؟
a,b,c = (1,2,3)
39. چگونه تاپل تو در تو را unpack کنیم؟
(a,(b,c)) = (1,(2,3))
40. چگونه از * برای unpacking استفاده کنیم؟
a,*b,c = (1,2,3,4)
۱–۱۰: تعریف و دسترسی به تاپل
1. تاپل چیست؟
یک نوع داده غیرقابل تغییر (immutable) که عناصر را به ترتیب نگه میدارد.
t = (1, 2, 3)
2. چگونه تاپل بسازیم؟
t = (10, 20, 30)
3. تاپل با یک عنصر چگونه ساخته میشود؟
t = (5,)
4. چگونه به عنصر خاص دسترسی پیدا کنیم؟
t[1] # 2
5. چگونه به عناصر منفی اندیس دسترسی پیدا کنیم؟
t[-1] # آخرین عنصر
6. چگونه طول تاپل را پیدا کنیم؟
len(t)
7. چگونه کل تاپل را چاپ کنیم؟
print(t)
8. چگونه slicing روی تاپل انجام دهیم؟
t[0:2] # عناصر از اندیس 0 تا 1
9. چگونه عناصر آخر تاپل را انتخاب کنیم؟
t[-2:] # دو عنصر آخر
10. چگونه کل تاپل را معکوس کنیم؟
t[::-1]
---
۱۱–۲۰: توابع و عملیات پایه روی تاپل
11. چگونه تاپل را با + ترکیب کنیم؟
t1 = (1,2); t2=(3,4)
t3 = t1 + t2 # (1,2,3,4)
12. چگونه تاپل را تکرار کنیم؟
t = (1,)*3 # (1,1,1)
13. چگونه بیشترین و کمترین عنصر را پیدا کنیم؟
max(t); min(t)
14. چگونه مجموع عناصر تاپل را پیدا کنیم؟
sum((1,2,3)) # 6
15. چگونه وجود یک عنصر را بررسی کنیم؟
3 in t # True/False
16. چگونه تعداد یک عنصر را بشماریم؟
t.count(2)
17. چگونه اندیس اولین عنصر را پیدا کنیم؟
t.index(3)
18. چگونه تاپل را به رشته تبدیل کنیم؟
",".join(map(str,(1,2,3))) # "1,2,3"
19. چگونه تاپل را به لیست تبدیل کنیم؟
list(t)
20. چگونه یک لیست را به تاپل تبدیل کنیم؟
tuple([1,2,3])
---
۲۱–۳۰: تاپل تو در تو و دسترسی پیشرفته
21. چگونه تاپل تو در تو بسازیم؟
t = (1,(2,3),4)
22. چگونه به عنصر داخلی دسترسی پیدا کنیم؟
t[1][0] # 2
23. چگونه طول تاپل تو در تو را پیدا کنیم؟
len(t) # تعداد عناصر بیرونی
24. چگونه با slicing روی تاپل تو در تو کار کنیم؟
t[1:] # ( (2,3), 4 )
25. چگونه عناصر تاپل را به صورت حلقه چاپ کنیم؟
for x in t:
print(x)
26. چگونه با enumerate اندیس و مقدار بگیریم؟
for i, val in enumerate(t):
print(i, val)
27. چگونه عناصر تاپل تو در تو را مسطح کنیم؟
flat = []
for x in t:
if isinstance(x, tuple):
flat.extend(x)
else:
flat.append(x)
28. چگونه با while روی تاپل حلقه بزنیم؟
i = 0
while i<len(t):
print(t[i])
i+=1
29. چگونه تاپل شامل رشته بسازیم؟
t = ("apple", "banana", "cherry")
30. چگونه رشتههای تاپل را با join ترکیب کنیم؟
",".join(t) # "apple,banana,cherry"
---
۳۱–۴۰: تغییر ناپذیری و ایمن بودن
31. چرا تاپل غیرقابل تغییر است؟
عناصر آن بعد از ایجاد قابل تغییر نیستند، امنیت دادهها بیشتر است.
32. آیا میتوان عنصر تاپل را تغییر داد؟
خیر، مثلا t[0]=10 خطا میدهد.
33. آیا میتوان تاپل را بزرگتر کرد؟
نه، فقط با ترکیب با تاپل دیگر میتوان نسخه جدید ساخت.
34. چگونه یک تاپل جدید با عنصر اضافه بسازیم؟
t = t + (5,)
35. چگونه تاپل را کوچک کنیم؟
با slicing:
t = t[:-1]
36. آیا عناصر داخل تاپل mutable میتوانند تغییر کنند؟
بله، مثلا لیست داخل تاپل قابل تغییر است:
t = (1,[2,3])
t[1].append(4)
37. چگونه ثابت بودن تاپل کمک میکند؟
برای استفاده در دیکشنری به عنوان کلید و دادههای حساس مناسب است.
38. چگونه با تاپل عملیات unpacking انجام دهیم؟
a,b,c = (1,2,3)
39. چگونه تاپل تو در تو را unpack کنیم؟
(a,(b,c)) = (1,(2,3))
40. چگونه از * برای unpacking استفاده کنیم؟
a,*b,c = (1,2,3,4)
---
۴۱–۵۰: حلقهها و پیمایش پیشرفته تاپل
41. چگونه با for روی تاپل پیمایش کنیم؟
for item in t:
print(item)
42. چگونه با while پیمایش کنیم؟
i = 0
while i < len(t):
print(t[i])
i += 1
43. چگونه با enumerate اندیس و مقدار بگیریم؟
for idx, val in enumerate(t):
print(idx, val)
44. چگونه فقط عناصر زوج را چاپ کنیم؟
for x in t:
if x % 2 == 0:
print(x)
45. چگونه با شرط in پیمایش کنیم؟
if 5 in t:
print("وجود دارد")
46. چگونه عناصر تاپل را با index چاپ کنیم؟
for i in range(len(t)):
print(t[i])
47. چگونه از list comprehension برای تاپل استفاده کنیم؟
tuple(x*2 for x in t)
48. چگونه تاپل را برعکس پیمایش کنیم؟
for x in t[::-1]:
print(x)
49. چگونه چند تاپل را همزمان پیمایش کنیم؟
t1 = (1,2); t2=(3,4)
for a,b in zip(t1,t2):
print(a,b)
50. چگونه فقط عناصر تکراری را پیدا کنیم؟
duplicates = [x for x in t if t.count(x)>1]
---
۵۱–۶۰: توابع داخلی و عملیات پیشرفته
51. چگونه طول تاپل را پیدا کنیم؟
len(t)
52. چگونه بیشترین و کمترین عنصر را پیدا کنیم؟
max(t); min(t)
53. چگونه مجموع عناصر تاپل را پیدا کنیم؟
sum(t)
54. چگونه تعداد یک عنصر را بشماریم؟
t.count(3)
55. چگونه اندیس اولین عنصر را پیدا کنیم؟
t.index(3)
56. چگونه تاپل را به لیست تبدیل کنیم؟
list(t)
57. چگونه لیست را به تاپل تبدیل کنیم؟
tuple([1,2,3])
58. چگونه تاپل را به رشته تبدیل کنیم؟
",".join(map(str,t))
59. چگونه تاپل را مرتب کنیم؟
sorted(t)
60. چگونه عناصر منحصر به فرد پیدا کنیم؟
tuple(set(t))
---
۶۱–۷۰: ترکیب و تکرار تاپل
61. چگونه دو تاپل را ترکیب کنیم؟
t1 + t2
62. چگونه یک تاپل را تکرار کنیم؟
t*3
63. چگونه یک عنصر اضافه کنیم؟
t = t + (10,)
64. چگونه یک عنصر حذف کنیم؟
با slicing:
t = t[:-1]
65. چگونه چند تاپل را ترکیب کنیم؟
t1 + t2 + t3
66. چگونه تاپل خالی بسازیم؟
t = ()
67. چگونه تاپل با عناصر یکسان بسازیم؟
t = (0,)*5
68. چگونه عناصر تاپل را با هم جمع کنیم؟
sum(t)
69. چگونه دو تاپل با طول متفاوت ترکیب کنیم؟
با zip:
for a,b in zip(t1,t2):
print(a,b)
70. چگونه عناصر مشترک دو تاپل را پیدا کنیم؟
tuple(set(t1) & set(t2))
---
۷۱–۸۰: تاپل تو در تو و unpacking پیچیده
71. چگونه تاپل تو در تو بسازیم؟
t = (1,(2,3),(4,5))
72. چگونه به عنصر داخلی دسترسی پیدا کنیم؟
t[1][0] # 2
73. چگونه کل عناصر داخلی را چاپ کنیم؟
for x in t:
if isinstance(x, tuple):
for y in x:
print(y)
else:
print(x)
74. چگونه تاپل تو در تو را unpack کنیم؟
a,(b,c),(d,e) = t
75. چگونه از * برای unpacking استفاده کنیم؟
a,*b,c = (1,2,3,4,5)
76. چگونه عناصر تاپل تو در تو را flatten کنیم؟
flat = [y for x in t for y in (x if isinstance(x, tuple) else (x,))]
77. چگونه تاپل تو در تو شامل لیست بسازیم؟
t = (1,[2,3],4)
78. چگونه عنصر داخل لیست در تاپل تغییر کند؟
t[1].append(5)
79. چگونه فقط تاپلها در تاپل اصلی جدا کنیم؟
tuples_only = tuple(x for x in t if isinstance(x, tuple))
80. چگونه فقط عناصر غیر تاپل چاپ شوند؟
for x in t:
if not isinstance(x, tuple):
print(x)
---
۸۱–۹۰: امنیت داده و کاربرد تاپل
81. چرا تاپل امنتر از لیست است؟
چون غیرقابل تغییر است و دادهها تصادفی تغییر نمیکنند.
82. چرا تاپل میتواند کلید دیکشنری باشد؟
چون hashable و immutable است.
83. آیا لیست داخل تاپل قابل تغییر است؟
بله، فقط خود تاپل تغییر نمیکند.
84. چگونه دادههای ثابت را ذخیره کنیم؟
با تاپل بهتر است تا با لیست.
85. چگونه تاپل را در set استفاده کنیم؟
s = {(1,2), (3,4)}
86. آیا میتوان set داخل تاپل گذاشت؟
خیر، چون mutable است.
87. چگونه عناصر غیرقابل تغییر را فیلتر کنیم؟
tuple(x for x in t if isinstance(x,(int,str)))
88. چگونه تاپل را برای محاسبات عددی استفاده کنیم؟
مثلا sum, max, min روی عناصر عددی.
89. چگونه تاپل را در برنامه بزرگ به عنوان ثابت استفاده کنیم؟
مثلا لیست کشورهای ثابت:
countries = ("Iran","USA","France")
90. چگونه از تاپل برای پارامترهای تابع استفاده کنیم؟
def f(*args):
print(args)
f(1,2,3) # (1,2,3)
---
۹۱–۱۰۰: تمرینات ترکیبی و عملی
91. چگونه تاپل را از ورودی کاربر بسازیم؟
t = tuple(map(int, input().split()))
92. چگونه عناصر مثبت را جدا کنیم؟
pos = tuple(x for x in t if x>0)
93. چگونه عناصر زوج را جدا کنیم؟
۴۱–۵۰: حلقهها و پیمایش پیشرفته تاپل
41. چگونه با for روی تاپل پیمایش کنیم؟
for item in t:
print(item)
42. چگونه با while پیمایش کنیم؟
i = 0
while i < len(t):
print(t[i])
i += 1
43. چگونه با enumerate اندیس و مقدار بگیریم؟
for idx, val in enumerate(t):
print(idx, val)
44. چگونه فقط عناصر زوج را چاپ کنیم؟
for x in t:
if x % 2 == 0:
print(x)
45. چگونه با شرط in پیمایش کنیم؟
if 5 in t:
print("وجود دارد")
46. چگونه عناصر تاپل را با index چاپ کنیم؟
for i in range(len(t)):
print(t[i])
47. چگونه از list comprehension برای تاپل استفاده کنیم؟
tuple(x*2 for x in t)
48. چگونه تاپل را برعکس پیمایش کنیم؟
for x in t[::-1]:
print(x)
49. چگونه چند تاپل را همزمان پیمایش کنیم؟
t1 = (1,2); t2=(3,4)
for a,b in zip(t1,t2):
print(a,b)
50. چگونه فقط عناصر تکراری را پیدا کنیم؟
duplicates = [x for x in t if t.count(x)>1]
---
۵۱–۶۰: توابع داخلی و عملیات پیشرفته
51. چگونه طول تاپل را پیدا کنیم؟
len(t)
52. چگونه بیشترین و کمترین عنصر را پیدا کنیم؟
max(t); min(t)
53. چگونه مجموع عناصر تاپل را پیدا کنیم؟
sum(t)
54. چگونه تعداد یک عنصر را بشماریم؟
t.count(3)
55. چگونه اندیس اولین عنصر را پیدا کنیم؟
t.index(3)
56. چگونه تاپل را به لیست تبدیل کنیم؟
list(t)
57. چگونه لیست را به تاپل تبدیل کنیم؟
tuple([1,2,3])
58. چگونه تاپل را به رشته تبدیل کنیم؟
",".join(map(str,t))
59. چگونه تاپل را مرتب کنیم؟
sorted(t)
60. چگونه عناصر منحصر به فرد پیدا کنیم؟
tuple(set(t))
---
۶۱–۷۰: ترکیب و تکرار تاپل
61. چگونه دو تاپل را ترکیب کنیم؟
t1 + t2
62. چگونه یک تاپل را تکرار کنیم؟
t*3
63. چگونه یک عنصر اضافه کنیم؟
t = t + (10,)
64. چگونه یک عنصر حذف کنیم؟
با slicing:
t = t[:-1]
65. چگونه چند تاپل را ترکیب کنیم؟
t1 + t2 + t3
66. چگونه تاپل خالی بسازیم؟
t = ()
67. چگونه تاپل با عناصر یکسان بسازیم؟
t = (0,)*5
68. چگونه عناصر تاپل را با هم جمع کنیم؟
sum(t)
69. چگونه دو تاپل با طول متفاوت ترکیب کنیم؟
با zip:
for a,b in zip(t1,t2):
print(a,b)
70. چگونه عناصر مشترک دو تاپل را پیدا کنیم؟
tuple(set(t1) & set(t2))
---
۷۱–۸۰: تاپل تو در تو و unpacking پیچیده
71. چگونه تاپل تو در تو بسازیم؟
t = (1,(2,3),(4,5))
72. چگونه به عنصر داخلی دسترسی پیدا کنیم؟
t[1][0] # 2
73. چگونه کل عناصر داخلی را چاپ کنیم؟
for x in t:
if isinstance(x, tuple):
for y in x:
print(y)
else:
print(x)
74. چگونه تاپل تو در تو را unpack کنیم؟
a,(b,c),(d,e) = t
75. چگونه از * برای unpacking استفاده کنیم؟
a,*b,c = (1,2,3,4,5)
76. چگونه عناصر تاپل تو در تو را flatten کنیم؟
flat = [y for x in t for y in (x if isinstance(x, tuple) else (x,))]
77. چگونه تاپل تو در تو شامل لیست بسازیم؟
t = (1,[2,3],4)
78. چگونه عنصر داخل لیست در تاپل تغییر کند؟
t[1].append(5)
79. چگونه فقط تاپلها در تاپل اصلی جدا کنیم؟
tuples_only = tuple(x for x in t if isinstance(x, tuple))
80. چگونه فقط عناصر غیر تاپل چاپ شوند؟
for x in t:
if not isinstance(x, tuple):
print(x)
---
۸۱–۹۰: امنیت داده و کاربرد تاپل
81. چرا تاپل امنتر از لیست است؟
چون غیرقابل تغییر است و دادهها تصادفی تغییر نمیکنند.
82. چرا تاپل میتواند کلید دیکشنری باشد؟
چون hashable و immutable است.
83. آیا لیست داخل تاپل قابل تغییر است؟
بله، فقط خود تاپل تغییر نمیکند.
84. چگونه دادههای ثابت را ذخیره کنیم؟
با تاپل بهتر است تا با لیست.
85. چگونه تاپل را در set استفاده کنیم؟
s = {(1,2), (3,4)}
86. آیا میتوان set داخل تاپل گذاشت؟
خیر، چون mutable است.
87. چگونه عناصر غیرقابل تغییر را فیلتر کنیم؟
tuple(x for x in t if isinstance(x,(int,str)))
88. چگونه تاپل را برای محاسبات عددی استفاده کنیم؟
مثلا sum, max, min روی عناصر عددی.
89. چگونه تاپل را در برنامه بزرگ به عنوان ثابت استفاده کنیم؟
مثلا لیست کشورهای ثابت:
countries = ("Iran","USA","France")
90. چگونه از تاپل برای پارامترهای تابع استفاده کنیم؟
def f(*args):
print(args)
f(1,2,3) # (1,2,3)
---
۹۱–۱۰۰: تمرینات ترکیبی و عملی
91. چگونه تاپل را از ورودی کاربر بسازیم؟
t = tuple(map(int, input().split()))
92. چگونه عناصر مثبت را جدا کنیم؟
pos = tuple(x for x in t if x>0)
93. چگونه عناصر زوج را جدا کنیم؟
even = tuple(x for x in t if x%2==0)
94. چگونه تاپل را برعکس چاپ کنیم؟
print(t[::-1])
95. چگونه عناصر یکتا را چاپ کنیم؟
print(tuple(set(t)))
96. چگونه تاپل و لیست را ترکیب کنیم؟
t = t + tuple([7,8])
97. چگونه تاپل شامل رشتهها را مرتب کنیم؟
sorted(t)
98. چگونه تاپل را در دیکشنری به عنوان کلید استفاده کنیم؟
d = {(1,2): "value"}
99. چگونه طول تاپل را بدون len حساب کنیم؟
count = sum(1 for _ in t)
100. چگونه دو تاپل را عنصر به عنصر جمع کنیم؟
t1 = (1,2); t2=(3,4)
t3 = tuple(a+b for a,b in zip(t1,t2))
-
94. چگونه تاپل را برعکس چاپ کنیم؟
print(t[::-1])
95. چگونه عناصر یکتا را چاپ کنیم؟
print(tuple(set(t)))
96. چگونه تاپل و لیست را ترکیب کنیم؟
t = t + tuple([7,8])
97. چگونه تاپل شامل رشتهها را مرتب کنیم؟
sorted(t)
98. چگونه تاپل را در دیکشنری به عنوان کلید استفاده کنیم؟
d = {(1,2): "value"}
99. چگونه طول تاپل را بدون len حساب کنیم؟
count = sum(1 for _ in t)
100. چگونه دو تاپل را عنصر به عنصر جمع کنیم؟
t1 = (1,2); t2=(3,4)
t3 = tuple(a+b for a,b in zip(t1,t2))
-
فصل بعدی Set (مجموعهها) است.
---
۱–۱۰: مفاهیم پایه Set
1. Set چیست؟
مجموعهای از عناصر یکتا و غیرقابل تکرار در پایتون.
2. چگونه یک Set بسازیم؟
s = {1,2,3}
3. آیا Set ترتیب دارد؟
خیر، عناصر بدون ترتیب ذخیره میشوند.
4. چگونه Set خالی بسازیم؟
s = set()
5. آیا میتوان Set تودرتو ساخت؟
خیر، چون Set غیرقابل هش است.
6. چگونه عناصر تکراری را حذف کنیم؟
s = set([1,2,2,3])
7. چگونه طول Set را پیدا کنیم؟
len(s)
8. چگونه یک عنصر به Set اضافه کنیم؟
s.add(4)
9. چگونه چند عنصر اضافه کنیم؟
s.update([5,6])
10. چگونه عنصر را حذف کنیم؟
s.remove(2) # اگر نباشد خطا میدهد
---
۱۱–۲۰: دستورات حذف و بررسی عناصر
11. چگونه عنصر را بدون خطا حذف کنیم؟
s.discard(10)
12. چگونه یک عنصر دلخواه حذف و دریافت کنیم؟
s.pop() # عنصر تصادفی
13. چگونه Set را خالی کنیم؟
s.clear()
14. چگونه بررسی کنیم عنصری در Set است؟
5 in s
15. چگونه بررسی کنیم عنصری در Set نیست؟
5 not in s
16. چگونه Set را کپی کنیم؟
s2 = s.copy()
17. چگونه عناصر Set را لیست کنیم؟
list(s)
18. چگونه Set را به tuple تبدیل کنیم؟
tuple(s)
19. چگونه Set را به رشته تبدیل کنیم؟
",".join(map(str,s))
20. آیا میتوان Set داخل Set گذاشت؟
خیر، فقط عناصر hashable میتوانند عضو Set باشند.
---
۲۱–۳۰: عملیات ریاضی روی Set
21. Union چیست؟
ترکیب دو Set بدون تکرار عناصر.
22. چگونه Union بگیریم؟
s1 | s2
23. روش دیگر Union؟
s1.union(s2)
24. Intersection چیست؟
عناصر مشترک بین دو Set.
25. چگونه Intersection بگیریم؟
s1 & s2
26. روش دیگر Intersection؟
s1.intersection(s2)
27. Difference چیست؟
عناصر Set اول که در Set دوم نیستند.
28. چگونه Difference بگیریم؟
s1 - s2
29. روش دیگر Difference؟
s1.difference(s2)
30. Symmetric Difference چیست؟
عناصر غیرمشترک دو Set.
---
۳۱–۴۰: عملیات پیشرفته Set
31. چگونه Symmetric Difference بگیریم؟
s1 ^ s2
32. روش دیگر؟
s1.symmetric_difference(s2)
33. Subset چیست؟
Set کوچکتر که تمام عناصرش در Set بزرگتر باشد.
34. چگونه بررسی کنیم؟
s1 <= s2
35. Superset چیست؟
Set بزرگتر که شامل تمام عناصر Set دیگر باشد.
36. چگونه بررسی کنیم؟
s1 >= s2
37. Disjoint چیست؟
دو Set هیچ عنصر مشترکی ندارند.
38. چگونه بررسی کنیم؟
s1.isdisjoint(s2)
39. چگونه Set را از لیست بسازیم و یکتا کنیم؟
s = set([1,2,2,3])
40. چگونه Set عددی از یک بازه بسازیم؟
s = set(range(1,6))
---
۱–۱۰: مفاهیم پایه Set
1. Set چیست؟
مجموعهای از عناصر یکتا و غیرقابل تکرار در پایتون.
2. چگونه یک Set بسازیم؟
s = {1,2,3}
3. آیا Set ترتیب دارد؟
خیر، عناصر بدون ترتیب ذخیره میشوند.
4. چگونه Set خالی بسازیم؟
s = set()
5. آیا میتوان Set تودرتو ساخت؟
خیر، چون Set غیرقابل هش است.
6. چگونه عناصر تکراری را حذف کنیم؟
s = set([1,2,2,3])
7. چگونه طول Set را پیدا کنیم؟
len(s)
8. چگونه یک عنصر به Set اضافه کنیم؟
s.add(4)
9. چگونه چند عنصر اضافه کنیم؟
s.update([5,6])
10. چگونه عنصر را حذف کنیم؟
s.remove(2) # اگر نباشد خطا میدهد
---
۱۱–۲۰: دستورات حذف و بررسی عناصر
11. چگونه عنصر را بدون خطا حذف کنیم؟
s.discard(10)
12. چگونه یک عنصر دلخواه حذف و دریافت کنیم؟
s.pop() # عنصر تصادفی
13. چگونه Set را خالی کنیم؟
s.clear()
14. چگونه بررسی کنیم عنصری در Set است؟
5 in s
15. چگونه بررسی کنیم عنصری در Set نیست؟
5 not in s
16. چگونه Set را کپی کنیم؟
s2 = s.copy()
17. چگونه عناصر Set را لیست کنیم؟
list(s)
18. چگونه Set را به tuple تبدیل کنیم؟
tuple(s)
19. چگونه Set را به رشته تبدیل کنیم؟
",".join(map(str,s))
20. آیا میتوان Set داخل Set گذاشت؟
خیر، فقط عناصر hashable میتوانند عضو Set باشند.
---
۲۱–۳۰: عملیات ریاضی روی Set
21. Union چیست؟
ترکیب دو Set بدون تکرار عناصر.
22. چگونه Union بگیریم؟
s1 | s2
23. روش دیگر Union؟
s1.union(s2)
24. Intersection چیست؟
عناصر مشترک بین دو Set.
25. چگونه Intersection بگیریم؟
s1 & s2
26. روش دیگر Intersection؟
s1.intersection(s2)
27. Difference چیست؟
عناصر Set اول که در Set دوم نیستند.
28. چگونه Difference بگیریم؟
s1 - s2
29. روش دیگر Difference؟
s1.difference(s2)
30. Symmetric Difference چیست؟
عناصر غیرمشترک دو Set.
---
۳۱–۴۰: عملیات پیشرفته Set
31. چگونه Symmetric Difference بگیریم؟
s1 ^ s2
32. روش دیگر؟
s1.symmetric_difference(s2)
33. Subset چیست؟
Set کوچکتر که تمام عناصرش در Set بزرگتر باشد.
34. چگونه بررسی کنیم؟
s1 <= s2
35. Superset چیست؟
Set بزرگتر که شامل تمام عناصر Set دیگر باشد.
36. چگونه بررسی کنیم؟
s1 >= s2
37. Disjoint چیست؟
دو Set هیچ عنصر مشترکی ندارند.
38. چگونه بررسی کنیم؟
s1.isdisjoint(s2)
39. چگونه Set را از لیست بسازیم و یکتا کنیم؟
s = set([1,2,2,3])
40. چگونه Set عددی از یک بازه بسازیم؟
s = set(range(1,6))
---
۴۱–۵۰: حلقه و پیمایش Set
41. چگونه روی عناصر Set پیمایش کنیم؟
for x in s:
print(x)
42. چگونه با while پیمایش کنیم؟
lst = list(s)
i = 0
while i < len(lst):
print(lst[i])
i += 1
43. چگونه عناصر Set را مرتب چاپ کنیم؟
for x in sorted(s):
print(x)
44. چگونه فقط عناصر زوج چاپ کنیم؟
for x in s:
if x % 2 == 0:
print(x)
45. چگونه عناصر بزرگتر از 5 را چاپ کنیم؟
for x in s:
if x > 5:
print(x)
46. چگونه تعداد عناصر Set را بدون len حساب کنیم؟
count = sum(1 for _ in s)
47. چگونه یک Set را معکوس کنیم؟
Set ترتیب ندارد، باید ابتدا به لیست تبدیل شود:
lst = list(s)
lst[::-1]
48. چگونه چند Set را همزمان پیمایش کنیم؟
for a,b in zip(s1,s2):
print(a,b)
49. چگونه عناصر مشترک دو Set را چاپ کنیم؟
for x in s1 & s2:
print(x)
50. چگونه عناصر غیرمشترک دو Set را چاپ کنیم؟
for x in s1 ^ s2:
print(x)
---
۵۱–۶۰: افزودن، حذف و بهروزرسانی
51. چگونه یک عنصر به Set اضافه کنیم؟
s.add(10)
52. چگونه چند عنصر اضافه کنیم؟
s.update([11,12])
53. چگونه یک عنصر حذف کنیم بدون خطا؟
s.discard(5)
54. چگونه یک عنصر حذف کنیم با خطا در صورت نبود؟
s.remove(5)
55. چگونه یک عنصر دلخواه حذف و دریافت کنیم؟
x = s.pop()
56. چگونه تمام عناصر Set را حذف کنیم؟
s.clear()
57. چگونه Set را کپی کنیم؟
s2 = s.copy()
58. چگونه یک Set را با لیست ترکیب کنیم؟
s.update([1,2,3])
59. چگونه یک Set را با Set دیگر ترکیب کنیم؟
s.update(s2)
60. چگونه تعداد عناصر بعد از update چک کنیم؟
len(s)
---
۶۱–۷۰: عملیات ریاضی پیشرفته
61. Union چیست و چگونه محاسبه میشود؟
s1 | s2
# یا s1.union(s2)
62. Intersection چیست و چگونه محاسبه میشود؟
s1 & s2
# یا s1.intersection(s2)
63. Difference چیست و چگونه محاسبه میشود؟
s1 - s2
# یا s1.difference(s2)
64. Symmetric Difference چیست؟
عناصر غیرمشترک دو Set.
65. چگونه Symmetric Difference بگیریم؟
s1 ^ s2
# یا s1.symmetric_difference(s2)
66. Subset چیست؟
Set کوچکتر که تمام عناصرش در Set بزرگتر باشد.
67. چگونه Subset بودن را بررسی کنیم؟
s1 <= s2
# یا s1.issubset(s2)
68. Superset چیست؟
Set بزرگتر که شامل تمام عناصر Set دیگر باشد.
69. چگونه Superset بودن را بررسی کنیم؟
s1 >= s2
# یا s1.issuperset(s2)
70. Disjoint چیست و چگونه بررسی میشود؟
دو Set هیچ عنصر مشترکی ندارند:
s1.isdisjoint(s2)
---
۷۱–۸۰: کاربردهای عملی Set
71. چگونه عناصر تکراری لیست را حذف کنیم؟
lst = [1,2,2,3]; s = set(lst)
72. چگونه Set از رشته بسازیم؟
s = set("hello") # {'h','e','l','o'}
73. چگونه Set را به رشته تبدیل کنیم؟
"".join(s)
74. چگونه یک Set از اعداد زوج بسازیم؟
s = set(range(2,11,2))
75. چگونه Set را در دیکشنری به عنوان کلید استفاده کنیم؟
Set غیرقابل هش است، نمیتوان به عنوان کلید استفاده کرد.
76. چگونه Set عددی را با comprehension بسازیم؟
s = {x*2 for x in range(5)}
77. چگونه عناصر Set را فیلتر کنیم؟
s = {x for x in s if x>5}
78. چگونه Set و لیست را ترکیب کنیم؟
s.update([10,11])
79. چگونه Set تو در تو بسازیم؟
غیرممکن، چون Set غیرقابل هش است.
80. چگونه تعداد عناصر مشترک دو Set را پیدا کنیم؟
len(s1 & s2)
---
۸۱–۹۰: ترکیب و تفاوتهای عملی
81. چگونه Union دو Set را چاپ کنیم؟
print(s1 | s2)
82. چگونه Intersection دو Set را چاپ کنیم؟
print(s1 & s2)
83. چگونه Difference دو Set را چاپ کنیم؟
print(s1 - s2)
84. چگونه Symmetric Difference چاپ کنیم؟
print(s1 ^ s2)
85. چگونه Set را بر اساس طول رشتهها مرتب کنیم؟
s = {"apple","kiwi","banana"}
sorted(s, key=len)
86. چگونه بزرگترین و کوچکترین عنصر Set را پیدا کنیم؟
max(s); min(s)
87. چگونه مجموع عناصر Set عددی را محاسبه کنیم؟
sum(s)
88. چگونه میانگین عناصر Set عددی را پیدا کنیم؟
sum(s)/len(s)
89. چگونه Set را معکوس چاپ کنیم؟
ابتدا به لیست تبدیل میکنیم:
list(reversed(sorted(s)))
90. چگونه عناصر Set را تصادفی انتخاب کنیم؟
import random
random.choice(list(s))
---
۹۱–۱۰۰: تمرینات ترکیبی و کاربردی
91. چگونه Set از ورودی کاربر بسازیم؟
s = set(map(int,input().split()))
92. چگونه عناصر زوج Set را جدا کنیم؟
evens = {x for x in s if x%2==0}
93. چگونه عناصر بزرگتر از 10 را جدا کنیم؟
large = {x for x in s if x>10}
94. چگونه عناصر غیرمشترک دو Set را پیدا کنیم؟
s1 ^ s2
۴۱–۵۰: حلقه و پیمایش Set
41. چگونه روی عناصر Set پیمایش کنیم؟
for x in s:
print(x)
42. چگونه با while پیمایش کنیم؟
lst = list(s)
i = 0
while i < len(lst):
print(lst[i])
i += 1
43. چگونه عناصر Set را مرتب چاپ کنیم؟
for x in sorted(s):
print(x)
44. چگونه فقط عناصر زوج چاپ کنیم؟
for x in s:
if x % 2 == 0:
print(x)
45. چگونه عناصر بزرگتر از 5 را چاپ کنیم؟
for x in s:
if x > 5:
print(x)
46. چگونه تعداد عناصر Set را بدون len حساب کنیم؟
count = sum(1 for _ in s)
47. چگونه یک Set را معکوس کنیم؟
Set ترتیب ندارد، باید ابتدا به لیست تبدیل شود:
lst = list(s)
lst[::-1]
48. چگونه چند Set را همزمان پیمایش کنیم؟
for a,b in zip(s1,s2):
print(a,b)
49. چگونه عناصر مشترک دو Set را چاپ کنیم؟
for x in s1 & s2:
print(x)
50. چگونه عناصر غیرمشترک دو Set را چاپ کنیم؟
for x in s1 ^ s2:
print(x)
---
۵۱–۶۰: افزودن، حذف و بهروزرسانی
51. چگونه یک عنصر به Set اضافه کنیم؟
s.add(10)
52. چگونه چند عنصر اضافه کنیم؟
s.update([11,12])
53. چگونه یک عنصر حذف کنیم بدون خطا؟
s.discard(5)
54. چگونه یک عنصر حذف کنیم با خطا در صورت نبود؟
s.remove(5)
55. چگونه یک عنصر دلخواه حذف و دریافت کنیم؟
x = s.pop()
56. چگونه تمام عناصر Set را حذف کنیم؟
s.clear()
57. چگونه Set را کپی کنیم؟
s2 = s.copy()
58. چگونه یک Set را با لیست ترکیب کنیم؟
s.update([1,2,3])
59. چگونه یک Set را با Set دیگر ترکیب کنیم؟
s.update(s2)
60. چگونه تعداد عناصر بعد از update چک کنیم؟
len(s)
---
۶۱–۷۰: عملیات ریاضی پیشرفته
61. Union چیست و چگونه محاسبه میشود؟
s1 | s2
# یا s1.union(s2)
62. Intersection چیست و چگونه محاسبه میشود؟
s1 & s2
# یا s1.intersection(s2)
63. Difference چیست و چگونه محاسبه میشود؟
s1 - s2
# یا s1.difference(s2)
64. Symmetric Difference چیست؟
عناصر غیرمشترک دو Set.
65. چگونه Symmetric Difference بگیریم؟
s1 ^ s2
# یا s1.symmetric_difference(s2)
66. Subset چیست؟
Set کوچکتر که تمام عناصرش در Set بزرگتر باشد.
67. چگونه Subset بودن را بررسی کنیم؟
s1 <= s2
# یا s1.issubset(s2)
68. Superset چیست؟
Set بزرگتر که شامل تمام عناصر Set دیگر باشد.
69. چگونه Superset بودن را بررسی کنیم؟
s1 >= s2
# یا s1.issuperset(s2)
70. Disjoint چیست و چگونه بررسی میشود؟
دو Set هیچ عنصر مشترکی ندارند:
s1.isdisjoint(s2)
---
۷۱–۸۰: کاربردهای عملی Set
71. چگونه عناصر تکراری لیست را حذف کنیم؟
lst = [1,2,2,3]; s = set(lst)
72. چگونه Set از رشته بسازیم؟
s = set("hello") # {'h','e','l','o'}
73. چگونه Set را به رشته تبدیل کنیم؟
"".join(s)
74. چگونه یک Set از اعداد زوج بسازیم؟
s = set(range(2,11,2))
75. چگونه Set را در دیکشنری به عنوان کلید استفاده کنیم؟
Set غیرقابل هش است، نمیتوان به عنوان کلید استفاده کرد.
76. چگونه Set عددی را با comprehension بسازیم؟
s = {x*2 for x in range(5)}
77. چگونه عناصر Set را فیلتر کنیم؟
s = {x for x in s if x>5}
78. چگونه Set و لیست را ترکیب کنیم؟
s.update([10,11])
79. چگونه Set تو در تو بسازیم؟
غیرممکن، چون Set غیرقابل هش است.
80. چگونه تعداد عناصر مشترک دو Set را پیدا کنیم؟
len(s1 & s2)
---
۸۱–۹۰: ترکیب و تفاوتهای عملی
81. چگونه Union دو Set را چاپ کنیم؟
print(s1 | s2)
82. چگونه Intersection دو Set را چاپ کنیم؟
print(s1 & s2)
83. چگونه Difference دو Set را چاپ کنیم؟
print(s1 - s2)
84. چگونه Symmetric Difference چاپ کنیم؟
print(s1 ^ s2)
85. چگونه Set را بر اساس طول رشتهها مرتب کنیم؟
s = {"apple","kiwi","banana"}
sorted(s, key=len)
86. چگونه بزرگترین و کوچکترین عنصر Set را پیدا کنیم؟
max(s); min(s)
87. چگونه مجموع عناصر Set عددی را محاسبه کنیم؟
sum(s)
88. چگونه میانگین عناصر Set عددی را پیدا کنیم؟
sum(s)/len(s)
89. چگونه Set را معکوس چاپ کنیم؟
ابتدا به لیست تبدیل میکنیم:
list(reversed(sorted(s)))
90. چگونه عناصر Set را تصادفی انتخاب کنیم؟
import random
random.choice(list(s))
---
۹۱–۱۰۰: تمرینات ترکیبی و کاربردی
91. چگونه Set از ورودی کاربر بسازیم؟
s = set(map(int,input().split()))
92. چگونه عناصر زوج Set را جدا کنیم؟
evens = {x for x in s if x%2==0}
93. چگونه عناصر بزرگتر از 10 را جدا کنیم؟
large = {x for x in s if x>10}
94. چگونه عناصر غیرمشترک دو Set را پیدا کنیم؟
s1 ^ s2
95. چگونه عناصر مشترک دو Set را پیدا کنیم؟
s1 & s2
96. چگونه Set را با List ترکیب کنیم؟
s.update([1,2,3])
97. چگونه Set را به Sorted List تبدیل کنیم؟
sorted(s)
98. چگونه Set را فیلتر کنیم که فقط رشتهها بماند؟
s = {x for x in s if isinstance(x,str)}
99. چگونه یک Set از رشته ورودی کاربر بسازیم؟
s = set(input().split())
100. چگونه دو Set را عنصر به عنصر جمع کنیم (عددها)؟
s1 = {1,2}; s2 = {3,4}
result = {a+b for a,b in zip(s1,s2)}
-
s1 & s2
96. چگونه Set را با List ترکیب کنیم؟
s.update([1,2,3])
97. چگونه Set را به Sorted List تبدیل کنیم؟
sorted(s)
98. چگونه Set را فیلتر کنیم که فقط رشتهها بماند؟
s = {x for x in s if isinstance(x,str)}
99. چگونه یک Set از رشته ورودی کاربر بسازیم؟
s = set(input().split())
100. چگونه دو Set را عنصر به عنصر جمع کنیم (عددها)؟
s1 = {1,2}; s2 = {3,4}
result = {a+b for a,b in zip(s1,s2)}
-
فصل بعدی Dictionary (دیکشنریها)
---
۱–۱۰: مفاهیم پایه Dictionary
1. Dictionary چیست؟
ساختاری برای ذخیره داده به صورت زوج کلید و مقدار (key:value) در پایتون.
2. چگونه یک Dictionary بسازیم؟
d = {"a":1, "b":2}
3. چگونه یک Dictionary خالی بسازیم؟
d = {}
# یا d = dict()
4. آیا ترتیب کلیدها مهم است؟
در پایتون ۳.۷+ ترتیب درج حفظ میشود.
5. چگونه مقدار یک کلید را دسترسی پیدا کنیم؟
d["a"]
6. چگونه مقدار یک کلید را بدون خطا بگیریم؟
d.get("a")
7. چگونه یک کلید جدید اضافه کنیم؟
d["c"] = 3
8. چگونه مقدار یک کلید را بهروزرسانی کنیم؟
d["a"] = 10
9. چگونه یک کلید را حذف کنیم؟
del d["b"]
10. چگونه کلید را با مقدار حذف کنیم و دریافت کنیم؟
d.pop("a")
---
۱۱–۲۰: دستورات کاربردی Dictionary
11. چگونه همه کلیدها را ببینیم؟
d.keys()
12. چگونه همه مقادیر را ببینیم؟
d.values()
13. چگونه همه کلیدها و مقادیر را ببینیم؟
d.items()
14. چگونه بررسی کنیم کلیدی وجود دارد؟
"a" in d
15. چگونه بررسی کنیم کلیدی وجود ندارد؟
"z" not in d
16. چگونه یک Dictionary را کپی کنیم؟
d2 = d.copy()
17. چگونه یک Dictionary را خالی کنیم؟
d.clear()
18. چگونه از لیستها Dictionary بسازیم؟
keys = ["a","b"]; values=[1,2]
d = dict(zip(keys,values))
19. چگونه از tupleها Dictionary بسازیم؟
t = [("a",1),("b",2)]
d = dict(t)
20. چگونه با comprehension Dictionary بسازیم؟
d = {x:x*2 for x in range(5)}
---
۲۱–۳۰: پیمایش Dictionary
21. چگونه کلیدها را پیمایش کنیم؟
for k in d:
print(k)
22. چگونه مقادیر را پیمایش کنیم؟
for v in d.values():
print(v)
23. چگونه کلید و مقدار را همزمان پیمایش کنیم؟
for k,v in d.items():
print(k,v)
24. چگونه کلیدها را مرتب پیمایش کنیم؟
for k in sorted(d):
print(k,d[k])
25. چگونه مقادیر بزرگتر از 5 را چاپ کنیم؟
for v in d.values():
if v>5:
print(v)
26. چگونه کلیدهایی که مقدارشان زوج است پیدا کنیم؟
[k for k,v in d.items() if v%2==0]
27. چگونه تعداد کلیدها را بشماریم؟
len(d)
28. چگونه بزرگترین مقدار را پیدا کنیم؟
max(d.values())
29. چگونه کلید متناظر با بزرگترین مقدار را پیدا کنیم؟
max(d, key=d.get)
30. چگونه مجموع مقادیر را پیدا کنیم؟
sum(d.values())
---
۱–۱۰: مفاهیم پایه Dictionary
1. Dictionary چیست؟
ساختاری برای ذخیره داده به صورت زوج کلید و مقدار (key:value) در پایتون.
2. چگونه یک Dictionary بسازیم؟
d = {"a":1, "b":2}
3. چگونه یک Dictionary خالی بسازیم؟
d = {}
# یا d = dict()
4. آیا ترتیب کلیدها مهم است؟
در پایتون ۳.۷+ ترتیب درج حفظ میشود.
5. چگونه مقدار یک کلید را دسترسی پیدا کنیم؟
d["a"]
6. چگونه مقدار یک کلید را بدون خطا بگیریم؟
d.get("a")
7. چگونه یک کلید جدید اضافه کنیم؟
d["c"] = 3
8. چگونه مقدار یک کلید را بهروزرسانی کنیم؟
d["a"] = 10
9. چگونه یک کلید را حذف کنیم؟
del d["b"]
10. چگونه کلید را با مقدار حذف کنیم و دریافت کنیم؟
d.pop("a")
---
۱۱–۲۰: دستورات کاربردی Dictionary
11. چگونه همه کلیدها را ببینیم؟
d.keys()
12. چگونه همه مقادیر را ببینیم؟
d.values()
13. چگونه همه کلیدها و مقادیر را ببینیم؟
d.items()
14. چگونه بررسی کنیم کلیدی وجود دارد؟
"a" in d
15. چگونه بررسی کنیم کلیدی وجود ندارد؟
"z" not in d
16. چگونه یک Dictionary را کپی کنیم؟
d2 = d.copy()
17. چگونه یک Dictionary را خالی کنیم؟
d.clear()
18. چگونه از لیستها Dictionary بسازیم؟
keys = ["a","b"]; values=[1,2]
d = dict(zip(keys,values))
19. چگونه از tupleها Dictionary بسازیم؟
t = [("a",1),("b",2)]
d = dict(t)
20. چگونه با comprehension Dictionary بسازیم؟
d = {x:x*2 for x in range(5)}
---
۲۱–۳۰: پیمایش Dictionary
21. چگونه کلیدها را پیمایش کنیم؟
for k in d:
print(k)
22. چگونه مقادیر را پیمایش کنیم؟
for v in d.values():
print(v)
23. چگونه کلید و مقدار را همزمان پیمایش کنیم؟
for k,v in d.items():
print(k,v)
24. چگونه کلیدها را مرتب پیمایش کنیم؟
for k in sorted(d):
print(k,d[k])
25. چگونه مقادیر بزرگتر از 5 را چاپ کنیم؟
for v in d.values():
if v>5:
print(v)
26. چگونه کلیدهایی که مقدارشان زوج است پیدا کنیم؟
[k for k,v in d.items() if v%2==0]
27. چگونه تعداد کلیدها را بشماریم؟
len(d)
28. چگونه بزرگترین مقدار را پیدا کنیم؟
max(d.values())
29. چگونه کلید متناظر با بزرگترین مقدار را پیدا کنیم؟
max(d, key=d.get)
30. چگونه مجموع مقادیر را پیدا کنیم؟
sum(d.values())
---
۳۱–۴۰: عملیات حذف و اضافه
31. چگونه چند کلید و مقدار همزمان اضافه کنیم؟
d.update({"x":10, "y":20})
32. چگونه کلید موجود را بهروزرسانی کنیم؟
d.update({"a":100})
33. چگونه کلیدی را حذف کنیم بدون خطا اگر موجود نبود؟
d.pop("z", None)
34. چگونه آخرین کلید اضافه شده را حذف کنیم؟
d.popitem()
35. چگونه تمام کلیدها را حذف کنیم؟
d.clear()
36. چگونه یک Dictionary را با dictionary دیگر ترکیب کنیم؟
d.update({"new":50})
37. چگونه کلید جدید اضافه کنیم اگر موجود نبود؟
d.setdefault("b", 200)
38. چگونه مقدار پیشفرض برای کلید بدهیم؟
val = d.setdefault("c",0)
39. چگونه بررسی کنیم Dictionary خالی است؟
not d
40. چگونه کلیدهای تکراری را در ترکیب Dictionary حذف کنیم؟
در Dictionary کلیدها یکتا هستند، بنابراین خودکار حذف میشوند.
---
۴۱–۵۰: دستورات پیشرفته و توابع مفید
41. چگونه یک کلید را با مقدار دلخواه بگیریم؟
d.get("a", "not found")
42. چگونه Dictionary را بر اساس کلید مرتب کنیم؟
dict(sorted(d.items()))
43. چگونه Dictionary را بر اساس مقدار مرتب کنیم؟
dict(sorted(d.items(), key=lambda item: item[1]))
44. چگونه تعداد کلیدها را حساب کنیم؟
len(d)
45. چگونه بررسی کنیم کلیدی در Dictionary وجود دارد؟
"a" in d
46. چگونه بررسی کنیم کلیدی در Dictionary وجود ندارد؟
"z" not in d
47. چگونه همه کلیدها را به لیست تبدیل کنیم؟
list(d.keys())
48. چگونه همه مقادیر را به لیست تبدیل کنیم؟
list(d.values())
49. چگونه همه کلیدها و مقادیر را به لیست تبدیل کنیم؟
list(d.items())
50. چگونه Dictionary را معکوس کنیم (کلید و مقدار جابجا شود)؟
{v:k for k,v in d.items()}
---
۵۱–۶۰: Dictionary تو در تو
51. چگونه یک Dictionary تو در تو بسازیم؟
d = {"a": {"x":1, "y":2}, "b": {"x":3, "y":4}}
52. چگونه مقدار Dictionary تو در تو را دسترسی پیدا کنیم؟
d["a"]["x"]
53. چگونه مقدار Dictionary تو در تو را بهروزرسانی کنیم؟
d["b"]["y"] = 10
54. چگونه کلیدهای داخلی را پیمایش کنیم؟
for k,v in d["a"].items():
print(k,v)
55. چگونه مقادیر داخلی را پیمایش کنیم؟
for v in d["a"].values():
print(v)
56. چگونه بررسی کنیم کلید داخلی وجود دارد؟
"x" in d["b"]
57. چگونه یک Dictionary تو در تو را کپی کنیم؟
import copy
d2 = copy.deepcopy(d)
58. چگونه عناصر داخلی Dictionary را حذف کنیم؟
del d["a"]["x"]
59. چگونه Dictionary تو در تو را ترکیب کنیم؟
d["a"].update({"z":5})
60. چگونه بررسی کنیم Dictionary تو در تو خالی است؟
not d["b"]
---
۶۱–۷۰: تمرینات عملی
61. چگونه Dictionary از ورودی کاربر بسازیم؟
d = dict(input("key:value ").split(":") for _ in range(3))
62. چگونه Dictionary با کلید عددی بسازیم؟
d = {i:i*10 for i in range(5)}
63. چگونه Dictionary از لیست کلید و مقدار بسازیم؟
keys = ["a","b"]; values=[1,2]
d = dict(zip(keys, values))
64. چگونه مقادیر تکراری Dictionary را پیدا کنیم؟
from collections import Counter
Counter(d.values())
65. چگونه کلید با بزرگترین مقدار را پیدا کنیم؟
max(d, key=d.get)
66. چگونه Dictionary را به رشته تبدیل کنیم؟
str(d)
67. چگونه Dictionary را به لیست از tupleها تبدیل کنیم؟
list(d.items())
68. چگونه کلیدها و مقادیر را جداگانه در لیست ذخیره کنیم؟
keys = list(d.keys()); values = list(d.values())
69. چگونه مقادیر زوج را پیدا کنیم؟
[k for k,v in d.items() if v%2==0]
70. چگونه کلیدهای خاص را حذف کنیم؟
for k in ["a","b"]:
d.pop(k, None)
۳۱–۴۰: عملیات حذف و اضافه
31. چگونه چند کلید و مقدار همزمان اضافه کنیم؟
d.update({"x":10, "y":20})
32. چگونه کلید موجود را بهروزرسانی کنیم؟
d.update({"a":100})
33. چگونه کلیدی را حذف کنیم بدون خطا اگر موجود نبود؟
d.pop("z", None)
34. چگونه آخرین کلید اضافه شده را حذف کنیم؟
d.popitem()
35. چگونه تمام کلیدها را حذف کنیم؟
d.clear()
36. چگونه یک Dictionary را با dictionary دیگر ترکیب کنیم؟
d.update({"new":50})
37. چگونه کلید جدید اضافه کنیم اگر موجود نبود؟
d.setdefault("b", 200)
38. چگونه مقدار پیشفرض برای کلید بدهیم؟
val = d.setdefault("c",0)
39. چگونه بررسی کنیم Dictionary خالی است؟
not d
40. چگونه کلیدهای تکراری را در ترکیب Dictionary حذف کنیم؟
در Dictionary کلیدها یکتا هستند، بنابراین خودکار حذف میشوند.
---
۴۱–۵۰: دستورات پیشرفته و توابع مفید
41. چگونه یک کلید را با مقدار دلخواه بگیریم؟
d.get("a", "not found")
42. چگونه Dictionary را بر اساس کلید مرتب کنیم؟
dict(sorted(d.items()))
43. چگونه Dictionary را بر اساس مقدار مرتب کنیم؟
dict(sorted(d.items(), key=lambda item: item[1]))
44. چگونه تعداد کلیدها را حساب کنیم؟
len(d)
45. چگونه بررسی کنیم کلیدی در Dictionary وجود دارد؟
"a" in d
46. چگونه بررسی کنیم کلیدی در Dictionary وجود ندارد؟
"z" not in d
47. چگونه همه کلیدها را به لیست تبدیل کنیم؟
list(d.keys())
48. چگونه همه مقادیر را به لیست تبدیل کنیم؟
list(d.values())
49. چگونه همه کلیدها و مقادیر را به لیست تبدیل کنیم؟
list(d.items())
50. چگونه Dictionary را معکوس کنیم (کلید و مقدار جابجا شود)؟
{v:k for k,v in d.items()}
---
۵۱–۶۰: Dictionary تو در تو
51. چگونه یک Dictionary تو در تو بسازیم؟
d = {"a": {"x":1, "y":2}, "b": {"x":3, "y":4}}
52. چگونه مقدار Dictionary تو در تو را دسترسی پیدا کنیم؟
d["a"]["x"]
53. چگونه مقدار Dictionary تو در تو را بهروزرسانی کنیم؟
d["b"]["y"] = 10
54. چگونه کلیدهای داخلی را پیمایش کنیم؟
for k,v in d["a"].items():
print(k,v)
55. چگونه مقادیر داخلی را پیمایش کنیم؟
for v in d["a"].values():
print(v)
56. چگونه بررسی کنیم کلید داخلی وجود دارد؟
"x" in d["b"]
57. چگونه یک Dictionary تو در تو را کپی کنیم؟
import copy
d2 = copy.deepcopy(d)
58. چگونه عناصر داخلی Dictionary را حذف کنیم؟
del d["a"]["x"]
59. چگونه Dictionary تو در تو را ترکیب کنیم؟
d["a"].update({"z":5})
60. چگونه بررسی کنیم Dictionary تو در تو خالی است؟
not d["b"]
---
۶۱–۷۰: تمرینات عملی
61. چگونه Dictionary از ورودی کاربر بسازیم؟
d = dict(input("key:value ").split(":") for _ in range(3))
62. چگونه Dictionary با کلید عددی بسازیم؟
d = {i:i*10 for i in range(5)}
63. چگونه Dictionary از لیست کلید و مقدار بسازیم؟
keys = ["a","b"]; values=[1,2]
d = dict(zip(keys, values))
64. چگونه مقادیر تکراری Dictionary را پیدا کنیم؟
from collections import Counter
Counter(d.values())
65. چگونه کلید با بزرگترین مقدار را پیدا کنیم؟
max(d, key=d.get)
66. چگونه Dictionary را به رشته تبدیل کنیم؟
str(d)
67. چگونه Dictionary را به لیست از tupleها تبدیل کنیم؟
list(d.items())
68. چگونه کلیدها و مقادیر را جداگانه در لیست ذخیره کنیم؟
keys = list(d.keys()); values = list(d.values())
69. چگونه مقادیر زوج را پیدا کنیم؟
[k for k,v in d.items() if v%2==0]
70. چگونه کلیدهای خاص را حذف کنیم؟
for k in ["a","b"]:
d.pop(k, None)