در این مطلب، ویدئو پایتون برای تجزیه و تحلیل داده ها: دیکشنری ها و مجموعه ها با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:14:04
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,190 –> 00:00:04,019
سلام به همه در این درس ما می
2
00:00:04,019 –> 00:00:05,730
خواهیم در مورد استفاده از دیکشنری ها
3
00:00:05,730 –> 00:00:09,150
و مجموعه ها در پایتون بیاموزیم و اکنون در
4
00:00:09,150 –> 00:00:11,190
درس های قبلی در مورد برخی از
5
00:00:11,190 –> 00:00:14,190
انواع داده های متوالی مانند لیست های تاپل و
6
00:00:14,190 –> 00:00:17,190
رشته ها یاد گرفتیم که مجموعه های مرتب شده ای از
7
00:00:17,190 –> 00:00:19,859
اشیاء که اکنون مرتب می شوند می توانند در
8
00:00:19,859 –> 00:00:22,410
برخی موارد مفید باشند. مثلاً اگر دادههای شما
9
00:00:22,410 –> 00:00:25,050
مرتب شده باشند یا حس طبیعی
10
00:00:25,050 –> 00:00:27,359
نظم دهی داشته باشند، اما این ترتیب
11
00:00:27,359 –> 00:00:29,789
زمانی با قیمتی همراه است که میخواهید در میان
12
00:00:29,789 –> 00:00:32,399
دنبالهای از اشیاء مانند فهرستی جستجو کنید،
13
00:00:32,399 –> 00:00:34,500
رایانهتان باید هر یک از عناصر را
14
00:00:34,500 –> 00:00:36,960
یکی یکی مرور کند تا پیدا کند.
15
00:00:36,960 –> 00:00:39,270
شی مورد نظر شما، بنابراین
16
00:00:39,270 –> 00:00:40,950
کد زیر را در نظر بگیرید که در اینجا داریم،
17
00:00:40,950 –> 00:00:43,559
یک لیست جدید با ده عنصر در
18
00:00:43,559 –> 00:00:46,110
آن ایجاد می کنیم و سپس می گوییم صفر در
19
00:00:46,110 –> 00:00:49,350
لیست من و البته صفر در
20
00:00:49,350 –> 00:00:51,840
لیست من نیست، بنابراین نتیجه آن نادرست است، اما
21
00:00:51,840 –> 00:00:53,850
توجه داشته باشید که از آنجایی که صفر در اینجا وجود ندارد
22
00:00:53,850 –> 00:00:55,559
، کامپیوتر باید
23
00:00:55,559 –> 00:00:57,989
تمام موارد را بررسی کند تا بتواند
24
00:00:57,989 –> 00:01:00,329
به ما بگوید که صفر وجود ندارد، بنابراین به
25
00:01:00,329 –> 00:01:02,940
طور بالقوه محاسبات زیادی هدر رفته است.
26
00:01:02,940 –> 00:01:04,920
فهرستی از یک میلیارد
27
00:01:04,920 –> 00:01:06,869
شیء که ما باید از طریق یک
28
00:01:06,869 –> 00:01:08,729
میلیارد چیز نگاه کنیم فقط برای اینکه بدانیم
29
00:01:08,729 –> 00:01:10,790
شیء مورد نظر ما در آنجا نیست،
30
00:01:10,790 –> 00:01:13,049
فرهنگ لغت جایگزینی برای
31
00:01:13,049 –> 00:01:15,180
این نوع جستجوی متوالی ارائه می
32
00:01:15,180 –> 00:01:17,520
دهد که به شما امکان می دهد موارد را با سرعت بیشتری جستجو کنید.
33
00:01:17,520 –> 00:01:19,830
به قیمت
34
00:01:19,830 –> 00:01:22,860
سفارش نشدن فرهنگ لغت،
35
00:01:22,860 –> 00:01:25,979
دیکشنریها مجموعههای نامرتب از جفتهای ارزش کلیدی
36
00:01:25,979 –> 00:01:28,799
هستند که بهعنوان یک جدول هش در زیر سرپوش پیادهسازی میشوند، به
37
00:01:28,799 –> 00:01:31,500
این معنی که هر
38
00:01:31,500 –> 00:01:35,820
فهرست یا کلید به یک فرهنگ لغت از
39
00:01:35,820 –> 00:01:39,509
طریق یک تابع پیچیده که
40
00:01:39,509 –> 00:01:42,060
یک مقدار عددی را بیرون میدهد منتقل میشود. که
41
00:01:42,060 –> 00:01:45,840
نشاندهنده مکانی در حافظه برای ذخیره
42
00:01:45,840 –> 00:01:49,140
مقدار Associated
43
00:01:49,140 –> 00:01:51,360
جزئیات پیادهسازی دیکشنریها و نحوه عملکرد
44
00:01:51,360 –> 00:01:53,820
جداول هش برای
45
00:01:53,820 –> 00:01:56,670
ما در این مرحله از سری نیست،
46
00:01:56,670 –> 00:01:58,920
مهمترین چیزی که باید بدانیم این است که وقتی
47
00:01:58,920 –> 00:02:00,630
میخواهیم چیزی را جستجو کنیم. در یک
48
00:02:00,630 –> 00:02:02,430
فرهنگ لغت به جای اینکه مجبور
49
00:02:02,430 –> 00:02:05,460
باشیم همه آیتمها را بررسی کنیم، میتوانیم
50
00:02:05,460 –> 00:02:08,399
کلید را از تابع هش عبور دهیم
51
00:02:08,399 –> 00:02:12,209
که به ما مقداری میدهد که
52
00:02:12,209 –> 00:02:13,860
مستقیماً به دنبال آن است. t
53
00:02:13,860 –> 00:02:16,410
در جای مناسب در حافظه است، بنابراین
54
00:02:16,410 –> 00:02:18,660
این به ما امکان می دهد نگاه کنیم. من یک
55
00:02:18,660 –> 00:02:19,410
فرهنگ لغت
56
00:02:19,410 –> 00:02:21,120
می خواهم که به عنوان زمان اجرا ثابت شناخته می
57
00:02:21,120 –> 00:02:23,970
شود زیرا تنها کاری که
58
00:02:23,970 –> 00:02:26,700
برای جستجوی آن باید انجام دهیم این است که کلید را
59
00:02:26,700 –> 00:02:28,200
از تابع هش عبور دهیم و سپس
60
00:02:28,200 –> 00:02:30,180
بلافاصله دریافت می کنیم. بنابراین استفاده از
61
00:02:30,180 –> 00:02:31,860
فرهنگ لغت برای ذخیره مقادیری که
62
00:02:31,860 –> 00:02:34,410
قرار است زیاد جستجو کنید، می تواند
63
00:02:34,410 –> 00:02:36,390
مقدار قابل توجهی از زمان پردازش را
64
00:02:36,390 –> 00:02:39,150
در مقایسه با ذخیره آن موارد در یک لیست
65
00:02:39,150 –> 00:02:42,120
برای ایجاد فرهنگ لغتی که
66
00:02:42,120 –> 00:02:44,520
داده هایی را که می خواهید ذخیره کنید در
67
00:02:44,520 –> 00:02:47,790
پرانتزهای مجعد محصور می کند، صرفه جویی کند. به جای پرانتزهایی
68
00:02:47,790 –> 00:02:50,160
که برای یک لیست و برای هر
69
00:02:50,160 –> 00:02:52,620
ورودی فرهنگ لغت استفاده می کنید، به یک کلید و یک مقدار نیاز دارید،
70
00:02:52,620 –> 00:02:56,670
بنابراین ابتدا کلید را قرار می دهید، بنابراین در اینجا
71
00:02:56,670 –> 00:02:59,010
این کلید نام رشته خواهد بود،
72
00:02:59,010 –> 00:03:02,070
سپس یک دونقطه و بعد از دو نقطه قرار می دهید.
73
00:03:02,070 –> 00:03:04,320
شما مقدار Associated را قرار داده اید، بنابراین در اینجا
74
00:03:04,320 –> 00:03:06,660
می گوییم وقتی از نام کلید استفاده می کنیم
75
00:03:06,660 –> 00:03:09,720
می خواهیم مقدار را پس بگیریم Joe و سپس
76
00:03:09,720 –> 00:03:11,310
وقتی
77
00:03:11,310 –> 00:03:14,610
از سن کلیدی که می خواهیم مقدار 10 استفاده کنیم، کاما چیز دیگری را ذخیره می کند و
78
00:03:14,610 –> 00:03:17,790
شهر کلید دارای یک انجمن ted
79
00:03:17,790 –> 00:03:21,780
value of Paris، بنابراین وقتی این را اجرا
80
00:03:21,780 –> 00:03:23,970
می کنیم به ما نشان می دهد که در واقع
81
00:03:23,970 –> 00:03:26,340
یک فرهنگ لغت با سه
82
00:03:26,340 –> 00:03:28,470
جفت ارزش کلیدی مختلف ایجاد کرده ایم، اکنون که یک
83
00:03:28,470 –> 00:03:30,660
فرهنگ لغت ایجاد کرده ایم، می توانیم با
84
00:03:30,660 –> 00:03:33,660
استفاده از کلید به عنوان نمایه کننده در فرهنگ لغت، اشیا را جستجو کنیم.
85
00:03:33,660 –> 00:03:37,170
وقتی از لیستها استفاده میکنیم
86
00:03:37,170 –> 00:03:39,630
، نام فهرست را در کروشه قرار میدهیم و
87
00:03:39,630 –> 00:03:41,519
سپس نمایه را در داخل پرانتز قرار میدهیم
88
00:03:41,519 –> 00:03:43,680
تا مورد را در آن فهرست برای یک
89
00:03:43,680 –> 00:03:45,330
فرهنگ لغت جستجو کنیم، دوباره از نام فرهنگ لغت
90
00:03:45,330 –> 00:03:47,610
استفاده میکنیم، اما به
91
00:03:47,610 –> 00:03:49,799
جای ارائه عددی که همان شاخص است، استفاده
92
00:03:49,799 –> 00:03:52,320
میکنیم. مقدار کلید را هر چه باشد عرضه کنید
93
00:03:52,320 –> 00:03:55,170
در این مورد نام یک کلید معتبر در
94
00:03:55,170 –> 00:03:56,790
این فرهنگ لغت بود بنابراین وقتی آن را اجرا می
95
00:03:56,790 –> 00:03:58,830
کنیم نامی را که ذخیره کرده ایم که Joe است می گیریم اکنون
96
00:03:58,830 –> 00:04:00,720
باید توجه داشته باشید که کلیدهایی که برای ساختن دیکشنری استفاده می کنید
97
00:04:00,720 –> 00:04:03,090
مانند نام در اینجا
98
00:04:03,090 –> 00:04:05,489
باید اشیاء تغییرناپذیر باشند، به این معنی که
99
00:04:05,489 –> 00:04:08,250
چیزهایی مانند رشته ها اعداد صحیح و چند تایی
100
00:04:08,250 –> 00:04:10,769
که غیرقابل تغییر هستند به عنوان کلید برای فرهنگ لغت کار می کنند،
101
00:04:10,769 –> 00:04:13,680
اما چیزهایی مانند لیست ها یا
102
00:04:13,680 –> 00:04:16,350
سایر اشیاء قابل تغییر که نمی توانید به عنوان
103
00:04:16,350 –> 00:04:19,380
کلید استفاده کنید، می توانید از mutable o استفاده کنید. اشیاء
104
00:04:19,380 –> 00:04:21,899
به عنوان مقادیری که اکنون ذخیره می کنید پس
105
00:04:21,899 –> 00:04:23,789
از ایجاد یک فرهنگ لغت، می
106
00:04:23,789 –> 00:04:27,150
توانید به راحتی موارد جدید را به آن اضافه کنید، با استفاده از این
107
00:04:27,150 –> 00:04:27,969
108
00:04:27,969 –> 00:04:29,860
نحو، نام فرهنگ لغت را در
109
00:04:29,860 –> 00:04:31,990
پرانتز مربع، نام کلید جدیدی را
110
00:04:31,990 –> 00:04:33,490
که می خواهید اضافه کنید، قرار دهید. اگر به
111
00:04:33,490 –> 00:04:35,530
دنبال چیزی هستید اما می خواهید
112
00:04:35,530 –> 00:04:37,569
چیزی را جستجو کنید که هنوز ذخیره نشده است
113
00:04:37,569 –> 00:04:40,080
و سپس می گویید که مقدار کلید جدید
114
00:04:40,080 –> 00:04:43,210
برابر با مقدار جدیدی است که می
115
00:04:43,210 –> 00:04:45,430
خواهید ذخیره کنید، بنابراین پس از اجرای
116
00:04:45,430 –> 00:04:47,199
این، این مقدار جدید را به
117
00:04:47,199 –> 00:04:50,650
فرهنگ لغت زیر کلید کلید جدید، بنابراین
118
00:04:50,650 –> 00:04:52,180
اگر فرهنگ لغت را دوباره چاپ کنیم، می
119
00:04:52,180 –> 00:04:54,099
بینیم که در واقع به فرهنگ لغت ما اضافه شده است،
120
00:04:54,099 –> 00:04:56,020
می توانید
121
00:04:56,020 –> 00:04:58,419
جفت های مقادیر کلید موجود در فرهنگ لغت را با استفاده از
122
00:04:58,419 –> 00:05:02,319
del حذف کنید، بنابراین del را برای Delete تایپ کنید، سپس
123
00:05:02,319 –> 00:05:04,000
نام فرهنگ لغت و در کروشه مربع
124
00:05:04,000 –> 00:05:07,090
کلیدی را که میخواهید حذف کنید،
125
00:05:07,090 –> 00:05:09,250
میتوانید با Len طول یک فرهنگ لغت را بررسی کنید، درست
126
00:05:09,250 –> 00:05:11,050
مانند فهرستی که میتوانید برای یک فهرست، همچنین میتوانید
127
00:05:11,050 –> 00:05:13,029
بررسی کنید که آیا موارد در
128
00:05:13,029 –> 00:05:15,430
فرهنگ لغت با کلمه کلیدی in وجود دارد یا خیر، بنابراین در اینجا
129
00:05:15,430 –> 00:05:17,830
میتوانید بررسی کنید که نام آن وجود دارد یا خیر. در دیک من و
130
00:05:17,830 –> 00:05:19,930
این بررسی می کند که آیا نام در
131
00:05:19,930 –> 00:05:22,629
کلیدهای دیکته من وجود دارد یا خیر و این یکی
132
00:05:22,629 –> 00:05:25,419
از کلیدها است، بنابراین توجه داشته باشید
133
00:05:25,419 –> 00:05:28,389
که
134
00:05:28,389 –> 00:05:30,789
اگر یکی
135
00:05:30,789 –> 00:05:32,710
از مقادیر فرهنگ لغت را در اینجا منتقل کنیم، فقط کلیدهای فرهنگ لغت را بررسی می کنیم.
136
00:05:32,710 –> 00:05:35,740
نادرست میگوید، بنابراین اگر بگویم Parris و
137
00:05:35,740 –> 00:05:37,900
در دیک من خوب است که یکی از
138
00:05:37,900 –> 00:05:40,060
مقادیر موجود در آن است، اما یکی از
139
00:05:40,060 –> 00:05:42,099
کلیدها نیست، بنابراین اگر اجرا کنم به
140
00:05:42,099 –> 00:05:44,289
جای درست، اشتباه است، بنابراین فقط بدانید که
141
00:05:44,289 –> 00:05:46,810
اگر بررسی کنید اگر میخواهید به جای کلیدها به مقادیر نگاه کنید، میتوانید
142
00:05:46,810 –> 00:05:49,089
از طریق کلیدها بررسی کنید، نه مقادیر
143
00:05:49,089 –> 00:05:51,039
144
00:05:51,039 –> 00:05:53,259
145
00:05:53,259 –> 00:05:55,449
146
00:05:55,449 –> 00:05:57,279
147
00:05:57,279 –> 00:05:59,259
فقط نام فرهنگ لغت
148
00:05:59,259 –> 00:06:01,569
و سپس کلیدهای نقطهای را قرار دهید که آنها را به شما نشان میدهد
149
00:06:01,569 –> 00:06:03,430
و اگر به مقادیر نیاز دارید،
150
00:06:03,430 –> 00:06:05,289
نام مقادیر فرهنگ لغت به
151
00:06:05,289 –> 00:06:07,360
شما میرسد، به عنوان مثال اگر میخواهیم
152
00:06:07,360 –> 00:06:10,089
بررسی کنیم که آیا Parris در مقادیر وجود دارد،
153
00:06:10,089 –> 00:06:13,659
میتوانیم بگوییم Parris و سپس وارد کنید و بررسی کنید
154
00:06:13,659 –> 00:06:16,120
که آیا در مقادیر نقطه است یا خیر
155
00:06:16,120 –> 00:06:18,189
اگر میخواهید هم
156
00:06:18,189 –> 00:06:21,099
کلیدها و هم مقادیر و چند تایی را دریافت کنید، درست برمیگردد، مثلاً
157
00:06:21,099 –> 00:06:22,960
اگر میخواهید از طریق هر جفت مقادیر کلیدی تکرار کنید
158
00:06:22,960 –> 00:06:24,520
، که ممکن است
159
00:06:24,520 –> 00:06:28,180
بخواهید انجام دهید، میتوانید از دستورات استفاده کنید، بنابراین در اینجا
160
00:06:28,180 –> 00:06:29,889
ما هر مقدار کلید را برمیگردانیم. جفت
161
00:06:29,889 –> 00:06:32,800
در فرهنگ لغت به صورت چند تایی در حال حاضر
162
00:06:32,800 –> 00:06:35,560
داده های دنیای واقعی اغلب به شکل
163
00:06:35,560 –> 00:06:38,409
جداول با ردیف ها و ستون ها هستند که در آن هر
164
00:06:38,409 –> 00:06:40,940
ستون
165
00:06:40,940 –> 00:06:44,030
ویژگی داده های جلویی مانند نام یا سن را مشخص می کند و
166
00:06:44,030 –> 00:06:46,640
هر ردیف نشان دهنده یک رکورد جداگانه است،
167
00:06:46,640 –> 00:06:49,640
سپس می توانیم این نوع داده های جدولی را در آن کدگذاری کنیم
168
00:06:49,640 –> 00:06:52,220
. یک فرهنگ لغت با اختصاص دادن
169
00:06:52,220 –> 00:06:55,610
یک کلید به هر ستون و سپس ذخیره داده
170