در این مطلب، ویدئو Python Itertools برای تکرار پیشرفته با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:13:59
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,190 –> 00:00:09,200
[موسیقی
2
00:00:09,200 –> 00:00:11,120
] بچه ها خوش آمدید این
3
00:00:11,120 –> 00:00:12,880
ویدیو بیشتر برای مبتدیان هدف گذاری شده است،
4
00:00:12,880 –> 00:00:14,480
زیرا امروز می خواهم یک
5
00:00:14,480 –> 00:00:16,480
ماژول اصلی پایتون به نام اتر تولز
6
00:00:16,480 –> 00:00:18,560
را به شما نشان دهم که چیزهای زیادی را که
7
00:00:18,560 –> 00:00:20,960
مربوط به لیست ها و شمارش و
8
00:00:20,960 –> 00:00:23,680
ترکیبات هستند آسان تر می کند. برای شما
9
00:00:23,680 –> 00:00:24,960
لازم نیست آنها را از ابتدا انجام دهید،
10
00:00:24,960 –> 00:00:26,800
فقط می توانید از این ماژول اصلی پایتون
11
00:00:26,800 –> 00:00:28,960
به نام ابزار ویرایشگر استفاده کنید تا کارها را
12
00:00:28,960 –> 00:00:30,640
آسان تر و ساده تر کنید، بنابراین برای کسانی
13
00:00:30,640 –> 00:00:32,800
از شما که تازه وارد پایتون شده اند یا تازه
14
00:00:32,800 –> 00:00:34,399
شروع به دریافت سطح متوسط کرده اید، مم
15
00:00:34,399 –> 00:00:36,079
ن است این کار را انجام دهید. بسیار جالب باشد، بنابراین اجازه
16
00:00:36,079 –> 00:00:37,280
دهید به درستی وارد آن شویم،
17
00:00:37,280 –> 00:00:38,719
بنابراین بیایید با
18
00:00:38,719 –> 00:00:40,559
وارد کردن ابزار itter شروع کنیم، همانطور که قبلاً
19
00:00:40,559 –> 00:00:42,000
اشاره کردم ابزار ویرایشگر بخشی از
20
00:00:42,000 –> 00:00:43,600
پشته هسته پایتون است، بنابراین نیازی به
21
00:00:43,600 –> 00:00:45,840
نصب هر چیزی نداریم تنها چیزی که باید انجام دهیم این است که
22
00:00:45,840 –> 00:00:48,719
نیاز داریم برای تایپ ابزارهای ویرایشگر import در این
23
00:00:48,719 –> 00:00:50,719
ماژول، این کتابخانه
24
00:00:50,719 –> 00:00:52,559
عملکردهای مفید زیادی را
25
00:00:52,559 –> 00:00:54,160
در مورد مجموعه ها در هنگام
26
00:00:54,160 –> 00:00:55,840
تکرار بر روی مجموعه ها در اختیار ما قرار می دهد، همانطور که نام
27
00:00:55,840 –> 00:00:58,320
قبلاً می گوید ابزارهای ویرایشگر وقتی می آید.
28
00:00:58,320 –> 00:01:00,640
به ترکیبات و غیره و ما می
29
00:01:00,640 –> 00:01:02,239
خواهیم با نگاه کردن به یک
30
00:01:02,239 –> 00:01:03,600
تابع کاملا ساده به نام تابع شمارش شروع
31
00:01:03,600 –> 00:01:05,519
کنیم که شبیه به تابعی
32
00:01:05,519 –> 00:01:08,080
است که ممکن است بدانید که محدوده نامیده می شود
33
00:01:08,080 –> 00:01:10,560
اما کاملاً یکسان نیست و ایده این است
34
00:01:10,560 –> 00:01:12,880
که گاهی اوقات در پایتون می خواهیم
35
00:01:12,880 –> 00:01:15,439
برای مثال با i برابر 0 شروع کنید
36
00:01:15,439 –> 00:01:17,840
در حالی که true است،
37
00:01:17,840 –> 00:01:19,520
بنابراین اساساً یک حلقه بی پایان می خواهیم
38
00:01:19,520 –> 00:01:23,759
i را چاپ کنیم و می خواهیم
39
00:01:23,759 –> 00:01:25,119
i را
40
00:01:25,119 –> 00:01:27,119
5 به عنوان مثال افزایش دهیم که اندازه گام است
41
00:01:27,119 –> 00:01:28,479
و البته اگر این را اجرا کنیم این
42
00:01:28,479 –> 00:01:30,880
برای همیشه ادامه خواهد داشت. بنابراین ما باید
43
00:01:30,880 –> 00:01:32,479
به زور آن را در اینجا خاتمه دهیم
44
00:01:32,479 –> 00:01:34,320
البته می توانیم یک محدودیت نیز ارائه دهیم که
45
00:01:34,320 –> 00:01:35,759
می توانیم بگوییم خوب است اگر
46
00:01:35,759 –> 00:01:40,960
من برابر با 5000 است پس شکسته شود
47
00:01:40,960 –> 00:01:43,040
بنابراین این کار می کند اما البته اگر این
48
00:01:43,040 –> 00:01:44,640
کار را انجام دهیم اگر نمی خواهیم داشته باشیم
49
00:01:44,640 –> 00:01:46,159
یک حلقه بی پایان ما همچنین میتوانیم از
50
00:01:46,159 –> 00:01:48,720
تابع محدوده استفاده کنیم، فقط میتوانیم بگوییم 4i در
51
00:01:48,720 –> 00:01:49,920
محدوده
52
00:01:49,920 –> 00:01:52,640
شروع از 0 تا 5000 با
53
00:01:52,640 –> 00:01:54,399
اندازه گام پنج
54
00:01:54,399 –> 00:01:56,399
چاپ i، بنابراین این هیچکدام از ابزارها
55
00:01:56,399 –> 00:01:58,000
نیست، فقط پایتون اصلی است، احتمالاً
56
00:01:58,000 –> 00:01:59,280
این را قبلاً میدانید
57
00:01:59,280 –> 00:02:00,479
um
58
00:02:00,479 –> 00:02:02,079
اما ایده کاملا مشابه است زیرا
59
00:02:02,079 –> 00:02:04,000
محدوده a در واقع یک ژنراتور تولید می کند
60
00:02:04,000 –> 00:02:05,920
که در آن می توانیم عنصر بعدی را
61
00:02:05,920 –> 00:02:08,080
دریافت کنیم و با تکرار روی آن عنصر بعدی را همیشه دریافت می
62
00:02:08,080 –> 00:02:09,679
کنیم تا زمانی که دیگر عنصری وجود نداشته
63
00:02:09,679 –> 00:02:12,080
باشد و با ابزارهای ویرایشگر
64
00:02:12,080 –> 00:02:14,160
می توانیم با استفاده از تابع count کار مشابهی انجام
65
00:02:14,160 –> 00:02:16,959
دهیم تا بتوانیم بگوییم 4i در
66
00:02:16,959 –> 00:02:18,959
itter tools.count
67
00:02:18,959 –> 00:02:22,080
از 0 با اندازه گام 5 شروع می شود،
68
00:02:22,080 –> 00:02:23,920
می توانید ببینید که حداکثر آن وجود ندارد زیرا
69
00:02:23,920 –> 00:02:25,920
این یک ژنراتور است، یک ژنراتور واقعی
70
00:02:25,920 –> 00:02:28,319
که مقادیر بیشتر و بیشتری را
71
00:02:28,319 –> 00:02:30,400
بدون محدودیت تولید می کند، اگر
72
00:02:30,400 –> 00:02:31,519
می خواهید نگاهی به آن بیندازید، یک ویدیو در مورد ژنراتورها دارم. فکر میکنم این
73
00:02:31,519 –> 00:02:33,280
بخشی از سری آموزشهای پیشرفته
74
00:02:33,280 –> 00:02:35,680
پایتون من است یا از نکات و ترفندهای پایتون من است،
75
00:02:35,680 –> 00:02:36,959
اما فکر میکنم این
76
00:02:36,959 –> 00:02:39,200
مجموعه آموزش پیشرفته پایتون است
77
00:02:39,200 –> 00:02:40,959
و اساساً اکنون میتوانم چشم شما را چاپ کنم
78
00:02:40,959 –> 00:02:43,360
و این برای همیشه ادامه خواهد داشت
79
00:02:43,360 –> 00:02:44,879
زیرا ژنراتور دائماً
80
00:02:44,879 –> 00:02:46,319
81
00:02:46,319 –> 00:02:48,480
عناصر جدیدی تولید میکند. و ما میتوانیم ببینیم که این کار
82
00:02:48,480 –> 00:02:51,200
مانند یک ژنراتور عمل میکند،
83
00:02:51,200 –> 00:02:53,360
بهاینترتیب و مقداردهی اولیه آن.
84
00:02:53,360 –> 00:02:57,599
85
00:02:57,599 –> 00:03:00,480
86
00:03:00,480 –> 00:03:01,440
87
00:03:01,440 –> 00:03:03,280
n که
88
00:03:03,280 –> 00:03:05,440
در ژنراتورها استفاده می کنید،
89
00:03:05,440 –> 00:03:07,360
ما همیشه عنصر بعدی را دریافت
90
00:03:07,360 –> 00:03:10,959
می کنیم، بنابراین 0 5 10 15 20 و شما
91
00:03:10,959 –> 00:03:12,560
نمی توانید این را به یک لیست تبدیل کنید
92
00:03:12,560 –> 00:03:14,319
که البته با یک محدوده امکان پذیر است،
93
00:03:14,319 –> 00:03:18,400
زیرا اگر لیست چاپی داشته باشم محدوده
94
00:03:18,400 –> 00:03:21,200
0 5005
95
00:03:21,200 –> 00:03:23,440
اگر بخواهم لیست را روی شمارنده فراخوانی کنم، این فقط به لیستی با تمام عناصر تبدیل می شود،
96
00:03:23,440 –> 00:03:27,040
به
97
00:03:27,040 –> 00:03:30,239
عنوان مثال،
98
00:03:30,239 –> 00:03:31,519
این یک حلقه بی پایان خواهد بود،
99
00:03:31,519 –> 00:03:33,760
زیرا این لیست ندارد همانطور که
100
00:03:33,760 –> 00:03:35,920
می بینید، هنوز در حال اجرا است. در اینجا این
101
00:03:35,920 –> 00:03:38,400
لیست مرزی ندارد
102
00:03:38,400 –> 00:03:40,000
و تا بی نهایت
103
00:03:40,000 –> 00:03:41,760
ادامه می یابد، بنابراین اگر
104
00:03:41,760 –> 00:03:43,840
می خواهید یک شمارنده بی نهایت داشته باشید که در آن
105
00:03:43,840 –> 00:03:45,200
همیشه می توانید عنصر بعدی را دریافت کنید که نمی
106
00:03:45,200 –> 00:03:47,920
خواهید حد um را مشخص کنید بنابراین می خواهید
107
00:03:47,920 –> 00:03:50,000
داشته باشید این می تواند بسیار مفید باشد. یک نقطه شروع و یک اندازه گام، بنابراین
108
00:03:50,000 –> 00:03:53,280
0 5 10 15 و غیره
109
00:03:53,280 –> 00:03:55,120
تا زمانی که دیگر به آن نیازی
110
00:03:55,120 –> 00:03:56,480
نداشته باشید، هرگز خالی نخواهد بود، می
111
00:03:56,480 –> 00:03:57,920
توانید تا زمانی که می خواهید از آن استفاده کنید، بنابراین این
112
00:03:57,920 –> 00:04:00,640
چیزی است که ابزار ویرایشگر ارائه می دهد. یکی دیگر
113
00:04:00,640 –> 00:04:02,400
تابع چرخه است. تابع چرخه
114
00:04:02,400 –> 00:04:03,920
بسیار
115
00:04:03,920 –> 00:04:07,120
جالب است e مجموعه ای از عناصر
116
00:04:07,120 –> 00:04:09,680
و این عناصر به عنوان مثال a هستند و
117
00:04:09,680 –> 00:04:11,200
سپس ما
118
00:04:11,200 –> 00:04:13,439
20 داریم و سپس 4.5 داریم و سپس
119
00:04:13,439 –> 00:04:16,079
true داریم شاید فقط یک دسته از مقادیر اینجا
120
00:04:16,079 –> 00:04:17,918
و اکنون می خواهم یک چرخه داشته باشم بنابراین می
121
00:04:17,918 –> 00:04:20,000
خواهم از این چهار عنصر در این سفارش
122
00:04:20,000 –> 00:04:22,000
را همیشه میخواهم تکرار کنم، اما نه
123
00:04:22,000 –> 00:04:23,600
تنها یک بار، زیرا البته میتوانم
124
00:04:23,600 –> 00:04:26,560
ادامه دهم و در عناصر 4i بگویم
125
00:04:26,560 –> 00:04:29,600
و سپس میتوانم i um را چاپ کنم،
126
00:04:29,600 –> 00:04:30,720
127
00:04:30,720 –> 00:04:32,960
اما این اساساً
128
00:04:32,960 –> 00:04:35,520
برای همیشه اتفاق نمیافتد، البته نمیتوانم
129
00:04:35,520 –> 00:04:37,120
این کار را بارها و بارها انجام دهم. من
130
00:04:37,120 –> 00:04:39,600
میتوانم کاری کثیف انجام دهم، فکر میکنم مانند
131
00:04:39,600 –> 00:04:43,280
انجام یک مدتی درست است که
132
00:04:43,280 –> 00:04:45,360
راهحل بسیار بدی است، اما اگر
133
00:04:45,360 –> 00:04:48,240
بخواهم یک راهحل ظریفتر
134
00:04:48,240 –> 00:04:51,040
انجام دهم، میتوانم کاری مانند 4i را در
135
00:04:51,040 –> 00:04:54,560
محدوده طول عناصر انجام دهم
136
00:04:54,560 –> 00:04:56,960
و سپس میتوانم go
137
00:04:56,960 –> 00:04:57,840
i
138
00:04:57,840 –> 00:05:00,720
modulo 3 یا در این مورد
139
00:05:00,720 –> 00:05:02,400
4 که طول عناصر است و
140
00:05:02,400 –> 00:05:04,800
سپس من فقط می توانم
141
00:05:04,800 –> 00:05:09,960
um را افزایش
142
00:05:10,320 –> 00:05:12,800
دهم در واقع این را باید انجام دهیم وای درست است
143
00:05:12,800 –> 00:05:16,160
که آنها می روند من به اضافه یک برابر است
144
00:05:16,160 –> 00:05:19,280
و من با صفر شروع می شود، بنابراین این کار
145
00:05:19,280 –> 00:05:20,560
برای به عنوان مثال
146
00:05:20,560 –> 00:05:21,759
اوم
147
00:05:21,759 –> 00:05:23,759
و البته ما نمی خواهیم i را چاپ کنیم
148
00:05:23,759 –> 00:05:25,360
ما
149
00:05:25,360 –> 00:05:27,919
150
00:05:29,120 –> 00:05:31,280
میخواهیم هر چیزی را که به اینجا میآوریم چاپ کنیم، شما بروید، بنابراین
151
00:05:31,280 –> 00:05:32,880
این نیز کار میکند، اما این یک
152
00:05:32,880 –> 00:05:35,120
راهحل زیبا نیست و البته
153
00:05:35,120 –> 00:05:37,280
فقط در مدتی کار میکند،
154
00:05:37,280 –> 00:05:39,600
درست است، فقط با گرفتن عنصر بعدی کار نمیکند تا زمانی که ما
155
00:05:39,600 –> 00:05:41,280
این کار را نکنیم. دیگر به یکی نیاز دارید،
156
00:05:41,280 –> 00:05:43,120
بنابراین اگر میخواهید این کار را بهصورت حرفهای
157
00:05:43,120 –> 00:05:44,960
با ابزارهای ویرایشگر انجام دهید، میتوانید از یک
158
00:05:44,960 –> 00:05:46,400
تابع چرخه استفاده کنید
159
00:05:46,400 –> 00:05:49,440
، ایده اصلی این است که بگویید 4i در
160
00:05:49,440 –> 00:05:52,720
itter tools چرخه نقطه و ما عناصر را پاس میکنیم
161
00:05:52,720 –> 00:05:54,960
162
00:05:54,960 –> 00:05:57,840
و سپس چاپ میکنیم
163
00:05:57,840 –> 00:05:59,280
i
164
00:05:59,280 –> 00:06:02,240
like that بنابراین اینطور کار میکند
165
00:06:02,240 –> 00:06:04,560
و ما همچنین میتوانیم کاری مانند چرخه من انجام
166
00:06:04,560 –> 00:06:09,199
دهیم، این عناصر itertools.cycle هستند
167
00:06:09,199 –> 00:06:11,759
و سپس من میتوانم بعد از چرخهام را چاپ
168
00:06:11,759 –> 00:06:12,479
169
00:06:12,479 –> 00:06:15,360
کنم
170
00:06:16,160 –> 00:06:17,840
و سپس عنصر بعدی را همیشه دریافت میکنیم،
171
00:06:17,840 –> 00:06:20,720
بنابراین اساساً از 20 4.5
172
00:06:20,720 –> 00:06:23,600
تا 20 4.5 true و غیره عبور میکنیم. و به همین
173
00:06:23,600 –> 00:06:25,360
ترتیب همیشه در یک چرخه
174
00:06:25,360 –> 00:06:27,039
که می تواند مفید باشد، گاهی اوقات
175
00:06:27,039 –> 00:06:29,199
ما عناصری داریم که می خواهیم تکرار کنیم،
176
00:06:29,199 –> 00:06:31,680
می خواهیم همیشه در دایره
177
00:06:31,680 –> 00:06:33,919
باشیم و نمی خواهیم
178
00:06:33,919 –> 00:06:35,680
مشخص کنیم که چند بار این کار را انجام می دهیم.
179
00:06:35,680 –> 00:06:37,280
همچنین نمی خواهیم وارد حلقه بی پایانی شویم که
180
00:06:37,280 –> 00:06:39,840
می خواهیم t o از این بعدی استفاده کنید تا همیشه
181
00:06:39,840 –> 00:06:41,919
عنصر بعدی را داشته باشید، بنابراین این به ما امکان میدهد تا
182
00:06:41,919 –> 00:06:44,160
روی یک مجموعه
183
00:06:44,160 –> 00:06:45,360
به صورت
184
00:06:45,360 –> 00:06:47,759
چرخهای تکرار کنیم تا بگوییم
185
00:06:47,759 –> 00:06:48,800
186
00:06:48,800 –> 00:06:50,479
یکی دیگر از عملکردهای
187
00:06:50,479 –> 00:06:52,960
جالب دکارتی است.
188
00:06:52,960 –> 00:06:54,800
189
00:06:54,800 –> 00:06:56,560
190
00:06:56,560 –> 00:07:00,720
ا