در این مطلب، ویدئو آموزش پایتون: فهرست درک گام به گام با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,900 –> 00:00:07,460
سلام به همه، دن بادر است و من
2
00:00:07,460 –> 00:00:09,680
بسیار خوشحالم که شما اینجا هستید با
3
00:00:09,680 –> 00:00:12,410
یک ویدیوی دیگر پایتون به من بپیوندید، بنابراین در این آموزش
4
00:00:12,410 –> 00:00:14,500
در مورد درک لیست ها صحبت خواهم کرد
5
00:00:14,500 –> 00:00:17,900
درک لیست در واقع یکی از
6
00:00:17,900 –> 00:00:20,270
ویژگی های مورد علاقه من در پایتون است، می دانم که
7
00:00:20,270 –> 00:00:22,940
آنها می توانند به نظر من در ابتدا کمی محرمانه
8
00:00:22,940 –> 00:00:24,740
یا کمی عجیب و غریب هستند، اما
9
00:00:24,740 –> 00:00:26,270
در واقع فوق العاده مفید هستند که می توانند
10
00:00:26,270 –> 00:00:27,920
به آسانی خواندن و نگهداری برنامه های شما کمک کنند
11
00:00:27,920 –> 00:00:29,690
، زمانی که شما واقعاً
12
00:00:29,690 –> 00:00:31,220
ذهن خود را در مورد نحوه عملکرد آنها
13
00:00:31,220 –> 00:00:33,620
و زمانی که آنها را به نوعی تقسیم می کنید
14
00:00:33,620 –> 00:00:36,559
درک اصول اولیه نسبتاً
15
00:00:36,559 –> 00:00:38,390
آسان است، بنابراین در پشت صحنه
16
00:00:38,390 –> 00:00:40,659
همه چیز فقط برای حلقه ها است و
17
00:00:40,659 –> 00:00:42,620
این چیزی است که من در این آموزش به شما یاد خواهم داد،
18
00:00:42,620 –> 00:00:44,120
بنابراین دقیقاً به شما نشان خواهم داد که
19
00:00:44,120 –> 00:00:46,309
چگونه می توانید یک حلقه for موجود را در
20
00:00:46,309 –> 00:00:48,469
پایتون و سپس آن را به درک لیست تبدیل کنید
21
00:00:48,469 –> 00:00:50,569
و
22
00:00:50,569 –> 00:00:51,489
همین کار را
23
00:00:51,489 –> 00:00:55,969
برعکس انجام دهید، پس بیایید به سمت راست برویم، بنابراین در اینجا
24
00:00:55,969 –> 00:00:57,889
یک درک ساده لیست است که من به تازگی
25
00:00:57,889 –> 00:00:59,629
تعریف کردم و می توانید اینجا ببینید که به نظر خوب می رسد.
26
00:00:59,629 –> 00:01:01,069
مشابه یافتن یک لیست
27
00:01:01,069 –> 00:01:02,629
ثابت درست در جایی که ما
28
00:01:02,629 –> 00:01:05,449
فقط مقادیری را بین این چند
29
00:01:05,449 –> 00:01:07,220
کروشه قرار می دهیم، بنابراین درک لیست را در اینجا تعریف کردم
30
00:01:07,220 –> 00:01:10,790
و سپس
31
00:01:10,790 –> 00:01:13,250
نتیجه آن را به متغیر مربع ها اختصاص
32
00:01:13,250 –> 00:01:15,670
دادم و دلیل انجام این کار این بود که ببینید
33
00:01:15,670 –> 00:01:17,630
چه چیزی خروجی آن
34
00:01:17,630 –> 00:01:20,210
درک لیست است و من همچنین می خواستم
35
00:01:20,210 –> 00:01:21,770
نامی برای آن بگذارم زیرا کوچک است و
36
00:01:21,770 –> 00:01:24,320
تمام اعداد مربع صحیح را
37
00:01:24,320 –> 00:01:27,680
از 0 تا 9 محاسبه می کند و البته من می
38
00:01:27,680 –> 00:01:29,750
توانستم همین درک لیست را بگیرم
39
00:01:29,750 –> 00:01:33,050
و بلافاصله آن را اجرا
40
00:01:33,050 –> 00:01:35,090
کنم. به درک این فهرست نگاه کنید،
41
00:01:35,090 –> 00:01:37,670
نحو تقریباً قابل خواندن توسط انسان است،
42
00:01:37,670 –> 00:01:39,560
میخواهم بگویم و واقعاً این نحو چیست
43
00:01:39,560 –> 00:01:42,050
، به نوعی خلاصهنویسی برای یک
44
00:01:42,050 –> 00:01:44,540
حلقه معمولی برای است، بنابراین
45
00:01:44,540 –> 00:01:46,550
من صفحهام را اینجا پاک میکنم و درک لیست را
46
00:01:46,550 –> 00:01:48,050
برمیگردانم. و اکنون یک
47
00:01:48,050 –> 00:01:49,820
حلقه for می نویسم که دقیقاً همان
48
00:01:49,820 –> 00:01:51,650
محاسبه را انجام می دهد، بنابراین
49
00:01:51,650 –> 00:01:53,870
با یک لیست مربع خالی شروع می کنیم و همانطور که پیش
50
00:01:53,870 –> 00:01:55,670
می رویم آن لیست را پر
51
00:01:55,670 –> 00:01:57,560
می کنیم تا حلقه for من را شروع کنیم.
52
00:01:57,560 –> 00:01:59,510
این قسمت را اینجا از درک لیست می
53
00:01:59,510 –> 00:02:01,250
گیرم، من فقط آن را کپی و
54
00:02:01,250 –> 00:02:04,580
جایگذاری می کنم و اکنون کاری که باید
55
00:02:04,580 –> 00:02:06,890
انجام دهم این است که باید مربع را به روز کنم، بنابراین باید
56
00:02:06,890 –> 00:02:09,769
چیزی به آن اضافه کنم و برای
57
00:02:09,769 –> 00:02:11,030
این کار این قسمت را می گیرم
58
00:02:11,030 –> 00:02:14,510
محاسبه اینجا درست است، بنابراین شما می توانید ببینید
59
00:02:14,510 –> 00:02:16,340
که کجا این قسمت ها را از مربع ها کپی کردم
60
00:02:16,340 –> 00:02:18,739
، یکی آن یک است و در
61
00:02:18,739 –> 00:02:22,580
حلقه for، آن یکی در اینجا، آن قسمت در اینجا
62
00:02:22,580 –> 00:02:24,670
در درک لیست در هر
63
00:02:24,670 –> 00:02:26,989
محاسبه واقعی که در اینجا اجرا می کنم یا
64
00:02:26,989 –> 00:02:28,910
عبارت است. که من ارزیابی می کنم که
65
00:02:28,910 –> 00:02:31,430
من آن را از اینجا گرفتم تا
66
00:02:31,430 –> 00:02:34,610
مربع ها را درست محاسبه کنم، بنابراین وقتی به
67
00:02:34,610 –> 00:02:37,190
نحوه پر شدن این لیست مربع ها توسط
68
00:02:37,190 –> 00:02:39,680
راه حل حلقه for نگاه می کنم، می توانید ببینید که
69
00:02:39,680 –> 00:02:41,480
دقیقاً یکسان است، بنابراین وقتی که من درک لیست اصلی را دوباره اجرا می کنم،
70
00:02:41,480 –> 00:02:43,489
شما را بررسی می کنم. می توانید ببینید
71
00:02:43,489 –> 00:02:46,040
که دقیقا همان خروجی را دارد، بنابراین
72
00:02:46,040 –> 00:02:47,930
73
00:02:47,930 –> 00:02:53,630
اگر سعی کنید این ساختار را تعمیم دهید، اکنون ساده ترین درک را به یک حلقه for تبدیل می
74
00:02:53,630 –> 00:02:55,910
کنید، به طوری
75
00:02:55,910 –> 00:02:57,470
که
76
00:02:57,470 –> 00:03:00,530
اگر سعی کنید آن را برای هر
77
00:03:00,530 –> 00:03:02,900
نوع دیگری تعمیم دهید، تغییری که ما فقط اعمال کردیم. درک لیست
78
00:03:02,900 –> 00:03:05,090
ممکن است با یک الگوی تا حدودی
79
00:03:05,090 –> 00:03:08,150
شبیه به این روبرو شوید، بنابراین کاری که من در اینجا انجام دادم این است
80
00:03:08,150 –> 00:03:10,970
که درک لیست را در اینجا
81
00:03:10,970 –> 00:03:12,829
که در مثال استفاده کردم برداشته ام و
82
00:03:12,829 –> 00:03:14,810
قسمت هایی از آن را به نوعی جایگزین کرده ام.
83
00:03:14,810 –> 00:03:16,640
جابجایی که
84
00:03:16,640 –> 00:03:19,220
بخشی از اسکلت موجود برای
85
00:03:19,220 –> 00:03:21,470
درک لیست نیست و من آنها را
86
00:03:21,470 –> 00:03:24,829
با این نشانگرها در اینجا جایگزین کردم تا در این
87
00:03:24,829 –> 00:03:27,049
مورد مقادیری که مقادیر خروجی ما
88
00:03:27,049 –> 00:03:29,299
هستند با آنچه در مثال مربع نامیده می شد مطابقت داشته باشند
89
00:03:29,299 –> 00:03:31,549
و
90
00:03:31,549 –> 00:03:34,099
سپس عبارت عملیات x برابر X
91
00:03:34,099 –> 00:03:37,099
باشد که در اینجا انجام می دهیم و
92
00:03:37,099 –> 00:03:39,319
البته مانند این چهار قسمت
93
00:03:39,319 –> 00:03:41,750
دقیقاً یکسان خواهد بود و سپس
94
00:03:41,750 –> 00:03:44,349
مقداری را در این مورد می گیریم که X
95
00:03:44,349 –> 00:03:47,660
از یک مجموعه نامیده می شود، در این مورد می
96
00:03:47,660 –> 00:03:50,180
شود محدوده اعداد صحیح از صفر تا
97
00:03:50,180 –> 00:03:54,799
نه و این به نوعی الگوی
98
00:03:54,799 –> 00:03:58,669
درک این لیست است و همانطور
99
00:03:58,669 –> 00:04:02,120
که دیدید ما می توانیم این الگو را بگیریم
100
00:04:02,120 –> 00:04:03,829
و آن را به یک الگوی دیگر تبدیل کنیم،
101
00:04:03,829 –> 00:04:06,470
بنابراین اگر می خواهید
102
00:04:06,470 –> 00:04:09,380
آن را به f تبدیل کنید، این درک لیست است. یا حلقه به نظر می
103
00:04:09,380 –> 00:04:11,720
رسد، بنابراین این
104
00:04:11,720 –> 00:04:13,910
دقیقاً همان کاری است که ما در مثال انجام داده ایم،
105
00:04:13,910 –> 00:04:16,399
بنابراین دوباره مقادیر ما در اینجا
106
00:04:16,399 –> 00:04:18,858
فقط مربع هستند و ما یک لیست خالی ایجاد می کنیم
107
00:04:18,858 –> 00:04:21,738
و سپس روی هر مقدار در مجموعه تکرار می کنیم.
108
00:04:21,738 –> 00:04:24,469
میتوانید ببینید که چگونه
109
00:04:24,469 –> 00:04:27,650
اینها در اینجا مطابقت دارند و سپس
110
00:04:27,650 –> 00:04:28,780
مقادیر خروجی
111
00:04:28,780 –> 00:04:31,150
را که قبلاً
112
00:04:31,150 –> 00:04:32,830
درست اولیه کردیم را بهروزرسانی میکنیم، فقط چیزهایی را به آن
113
00:04:32,830 –> 00:04:35,410
لیست اضافه میکنیم و نه تنها مقدار را
114
00:04:35,410 –> 00:04:37,720
از مجموعه میگیریم و اضافه
115
00:04:37,720 –> 00:04:40,600
میکنیم، بلکه در حال اجرا هستیم. ما در حال ارزیابی
116
00:04:40,600 –> 00:04:43,600
نوعی عبارت بر اساس آن مقدار هستیم تا
117
00:04:43,600 –> 00:04:46,600
مقدار خروجی واقعی را محاسبه کنیم، بنابراین به
118
00:04:46,600 –> 00:04:48,370
این صورت است که این تبدیل
119
00:04:48,370 –> 00:04:50,770
پایین میآید و بخش جالب این است که
120
00:04:50,770 –> 00:04:52,360
در هر دو جهت درست کار میکند، بنابراین
121
00:04:52,360 –> 00:04:54,250
میتوانید همان تبدیل را
122
00:04:54,250 –> 00:04:56,680
برای گرفتن یک for اعمال کنید. حلقه بزنید و دوباره آن را
123
00:04:56,680 –> 00:05:00,040
به درک فهرست تبدیل کنید و
124
00:05:00,040 –> 00:05:01,900
این یک چیز قدرتمند در مورد
125
00:05:01,900 –> 00:05:04,150
درک لیست است زیرا وقتی
126
00:05:04,150 –> 00:05:06,220
از نوشتن حلقه
127
00:05:06,220 –> 00:05:09,430
هایی که دقیقاً شبیه به این هستند خسته شدید،
128
00:05:09,430 –> 00:05:11,290
اکنون یک t ool را در جعبه ابزار خود
129
00:05:11,290 –> 00:05:12,910
اعمال کنید تا این قسمت ها را در
130
00:05:12,910 –> 00:05:14,850
برنامه خود کمی خواناتر کنید و
131
00:05:14,850 –> 00:05:17,830
اساساً این سه خط را به یک خط
132
00:05:17,830 –> 00:05:20,169
یک خطی تبدیل کنید که دقیقاً همان
133
00:05:20,169 –> 00:05:22,300
کار را انجام می دهد که می تواند بسیار قدرتمند باشد و
134
00:05:22,300 –> 00:05:23,950
می تواند برای بهبود خوانایی
135
00:05:23,950 –> 00:05:25,810
آن عالی باشد. همچنین می تواند برای بهبود خوانایی وحشتناک باشد،
136
00:05:25,810 –> 00:05:27,340
اما من
137
00:05:27,340 –> 00:05:29,200
در پایان کمی در مورد آن صحبت خواهم کرد،
138
00:05:29,200 –> 00:05:30,840
بنابراین ما فقط به این الگوی نسبتاً ساده
139
00:05:30,840 –> 00:05:33,550
در اینجا نگاه کردیم و چیزی که اکنون می خواهم در
140
00:05:33,550 –> 00:05:36,430
مورد آن صحبت کنم این است که چگونه می توانید این
141
00:05:36,430 –> 00:05:38,770
الگو را به طور واقعی گسترش دهید. شامل فیلتر کردن
142
00:05:38,770 –> 00:05:41,020
و فیلتر کردن باعث می شود تا درک لیستی ایجاد شود
143
00:05:41,020 –> 00:05:42,520
که می توانید بسیار
144
00:05:42,520 –> 00:05:44,530
قدرتمندتر و بسیار انعطاف پذیرتر بنویسید، بنابراین
145
00:05:44,530 –> 00:05:46,360
بیایید نگاهی به آن بیندازیم، بنابراین
146
00:05:46,360 –> 00:05:47,830
من مثال خود را در اینجا با افزودن فیلتر به روز کردم
147
00:05:47,830 –> 00:05:50,350
و می توانید اینجا ببینید که به
148
00:05:50,350 –> 00:05:52,270
نظر می رسد بسیار شبیه به مثال قبلی،
149
00:05:52,270 –> 00:05:53,650
همه قسمت هایی که
150
00:05:53,650 –> 00:05:55,660
قبلاً با آنها آشنا هستید هنوز وجود دارند، بنابراین
151
00:05:55,660 –> 00:05:57,850
ما لیستی از مقادیر خروجی خود را
152
00:05:57,850 –> 00:06:00,280
داریم، عبارتی را که محاسبه
153
00:06:00,280 –> 00:06:03,669
می کنیم و این را برای مقدار i دریافت کرده ایم. n
154
00:06:03,669 –> 00:06:06,280
قسمت مجموعه ای که اجرا می کنیم و بنابراین این
155
00:06:06,280 –> 00:06:08,410
چیزهای جدید در اینجا در انتها جایی است
156
00:06:08,410 –> 00:06:10,720
که فیلتر کردن اتفاق می افتد بنابراین در این مورد
157
00:06:10,720 –> 00:06:14,640
ما همان مجموعه مقادیر را محاسبه می
158
00:06:14,640 –> 00:06:18,460
کنیم اما فقط مقادیر را در جایی که
159
00:06:18,460 –> 00:06:20,620
این شرط در اینجا درست است و در صورت صحیح بودن آن را حفظ می کنیم.
160
00:06:20,620 –> 00:06:22,090
شما عملگر مدول را ندیده اید
161
00:06:22,090 –> 00:06:24,880
قبل از اینکه دو عدد را تقسیم کند و سپس
162
00:06:24,880 –> 00:06:28,650
مابقی را به شما می دهد، بنابراین اگر من 31
163
00:06:28,650 –> 00:06:32,380
مدول 2 بروم، باقیمانده آن 1 می شود
164
00:06:32,380 –> 00:06:35,560
زیرا یک عدد فرد است، درست
165
00:06:35,560 –> 00:06:37,750
نمی توانیم آن را به طور خالص بر 2 تقسیم کنیم، بنابراین
166
00:06:37,750 –> 00:06:40,500
مابقی از آن 1 است و اگر 30 مدول بروم
167
00:06:40,500 –> 00:06:42,140
168
00:06:42,140 –> 00:06:44,690
– پس باقیمانده صفر است و
169
00:06:44,690 –> 00:06:46,460
من از آن در اینجا در این
170
00:06:46,460 –> 00:06:49,520
عبارت فیلترینگ استفاده میکنم تا فقط
171
00:06:49,520 –> 00:06:52,970
مقادیری را در لیست مربعهای زوج بگنجانم که
172
00:06:52,970 –> 00:06:55,250
در واقع زوج هستند بنابراین این یک راه عالی
173
00:06:55,250 –> 00:06:57,890
برای یافتن است. اگر عددی زوج یا فرد باشد،
174
00:06:57,890 –> 00:06:59,930
میتوانید فقط از عملگر مدول استفاده کنید،
175
00:06:59,930 –> 00:07:01,400
بنابراین اجازه
176
00:07:01,400 –> 00:07:03,410
دهید به خروجیای که در اینجا تولید کردهایم نگاهی بیندازیم
177
00:07:03,410 –> 00:07:05,240
و همانطور که میبینید این
178
00:07:05,240 –> 00:07:07,760
لیست مربعهای قبلی را فیلتر
179
00:07:07,760 –> 00:07:10,520
کرد تا فقط
180
00:07:10,520 –> 00:07:12,800
شامل مربع های زوج است عضو این همان چیزی است که
181
00:07:12,800 –> 00:07:15,380
قبلاً قبل از فیلتر کردن داشتیم و
182
00:07:15,380 –> 00:07:17,990
شامل اعداد فرد نیز می شد و اکنون
183
00:07:17,990 –> 00:07:19,760
همه آنها از بین رفته اند زیرا ما
184
00:07:19,760 –> 00:07:22,760
آنها را با این فیلتر حذف
185
00:07:22,760 –> 00:07:26,240
186
00:07:26,240 –> 00:07:29,060
187
00:07:29,060 –> 00:07:31,760
کردیم. چگونه میتوانیم آن
188
00:07:31,760 –> 00:07:34,070
را به یک الگوی استاندارد چهار حلقه
189
00:07:34,070 –> 00:07:36,290
در پشت صحنه تبدیل کنیم، بنابراین اگر میخواهید
190
00:07:36,290 –> 00:07:38,090
همان لیست را با حلقه for ایجاد
191
00:07:38,090 –> 00:07:39,320
کنید، احتمالاً
192
00:07:39,320 –> 00:07:41,000
دوباره کاری شبیه به این انجام میدهید، با
193
00:07:41,000 –> 00:07:43,970
ایجاد یک لیست خروجی خالی شروع میکنید و سپس
194
00:07:43,9