{"id":3176,"date":"2025-09-21T19:48:36","date_gmt":"2025-09-21T17:48:36","guid":{"rendered":"https:\/\/davidka.net\/ru\/?p=3176"},"modified":"2025-09-22T09:08:49","modified_gmt":"2025-09-22T07:08:49","slug":"collections-in-python","status":"publish","type":"post","link":"https:\/\/ru.davidka.net\/ru\/collections-in-python\/","title":{"rendered":"\ud83d\udcd8 \u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 Python"},"content":{"rendered":"\n<p class=\"has-neve-link-color-color has-text-color has-link-color has-medium-font-size wp-elements-381b87ac8d588a10c1312bd1b4752822 wp-block-paragraph\">\u0412 Python <strong>\u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f<\/strong> \u2014 \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 <strong>\u0433\u0440\u0443\u043f\u043f\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432<\/strong> \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0441 \u0435\u0434\u0438\u043d\u044b\u043c \u0446\u0435\u043b\u044b\u043c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e (<code class=\"\" data-line=\"\">for item in collection<\/code>)<\/li>\n\n\n\n<li>\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f (<code class=\"\" data-line=\"\">x in collection<\/code>)<\/li>\n\n\n\n<li>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u0438\u043d\u044b (<code class=\"\" data-line=\"\">len(collection)<\/code>)<\/li>\n\n\n\n<li>\u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u043b\u0438 \u043a\u043b\u044e\u0447\u0443 (\u0435\u0441\u043b\u0438 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u044b \u0438\u043b\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b)<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u0412 Python \u043d\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u00ab\u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u00bb, \u043d\u043e \u0435\u0441\u0442\u044c <strong>\u043d\u0435\u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b<\/strong>. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 <code class=\"\" data-line=\"\">__iter__<\/code>, <code class=\"\" data-line=\"\">__len__<\/code>, <code class=\"\" data-line=\"\">__contains__<\/code> \u2014 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0435\u0439.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"rtoc-mokuji-wrapper\" class=\"rtoc-mokuji-content frame2 preset1 animation-fade rtoc_open default\" data-id=\"3176\" data-theme=\"Neve - Davidka\">\n\t\t\t<div id=\"rtoc-mokuji-title\" class=\"rtoc_btn_none rtoc_left\">\n\t\t\t\n\t\t\t<span>In Questo Articolo<\/span>\n\t\t\t<\/div><ol class=\"rtoc-mokuji decimal_ol level-1\"><li class=\"rtoc-item\"><a href=\"#rtoc-1\">\u0427\u0442\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0435\u0439<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-2\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-3\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-4\">\u0414\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u043e\u043d\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0442\u0438\u043f\u044b<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-5\">1. <code class=\"\" data-line=\"\">str<\/code> \u2014 \u0441\u0442\u0440\u043e\u043a\u0430<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-6\">2. <code class=\"\" data-line=\"\">bytes<\/code>, <code class=\"\" data-line=\"\">bytearray<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-7\">3. <code class=\"\" data-line=\"\">range<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-8\">4. <code class=\"\" data-line=\"\">array.array<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-9\">5. \u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-10\">6. <code class=\"\" data-line=\"\">ChainMap<\/code> (\u0438\u0437 <code class=\"\" data-line=\"\">collections<\/code>)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-11\">7. <code class=\"\" data-line=\"\">OrderedDict<\/code> (\u0438\u0437 <code class=\"\" data-line=\"\">collections<\/code>)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-12\">8. <code class=\"\" data-line=\"\">enum.Enum<\/code>, <code class=\"\" data-line=\"\">enum.Flag<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-13\">9. <code class=\"\" data-line=\"\">typing.NamedTuple<\/code>, <code class=\"\" data-line=\"\">typing.TypedDict<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-14\">10. <code class=\"\" data-line=\"\">heapq<\/code>, <code class=\"\" data-line=\"\">bisect<\/code> \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0430 \u043d\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-15\">1. \u0421\u043f\u0438\u0441\u043a\u0438 \u2014 <code class=\"\" data-line=\"\">list<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-16\">2. \u0421\u043b\u043e\u0432\u0430\u0440\u0438 \u2014 <code class=\"\" data-line=\"\">dict<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-17\">3. \u041a\u043e\u0440\u0442\u0435\u0436\u0438 \u2014 <code class=\"\" data-line=\"\">tuple<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-18\">4. SimpleNamespace<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-19\">5. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u2014 <code class=\"\" data-line=\"\">set<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-20\">6. \u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u2014 <code class=\"\" data-line=\"\">frozenset<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-21\">7. namedtuple \u2014 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u0440\u0442\u0435\u0436\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-22\">8. deque \u2014 \u0434\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044f\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u044c<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-23\">9. Counter \u2014 \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-24\">10. defaultdict \u2014 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-25\">11. dataclass \u2014 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-26\">12. UserList \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-27\">13. UserDict \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-28\">\ud83d\udcc8 \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-29\">1. \u041f\u0430\u043c\u044f\u0442\u044c: <code class=\"\" data-line=\"\">list<\/code> vs <code class=\"\" data-line=\"\">tuple<\/code> vs <code class=\"\" data-line=\"\">array.array<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-30\">2. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430: <code class=\"\" data-line=\"\">list<\/code> vs <code class=\"\" data-line=\"\">tuple<\/code> vs <code class=\"\" data-line=\"\">array.array<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-31\">3. \u041f\u0430\u043c\u044f\u0442\u044c: <code class=\"\" data-line=\"\">dict<\/code> vs <code class=\"\" data-line=\"\">SimpleNamespace<\/code> vs <code class=\"\" data-line=\"\">dataclass<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-32\">4. \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438: <code class=\"\" data-line=\"\">dataclass<\/code> \u0441 <code class=\"\" data-line=\"\">__slots__<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-33\">5. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0430: <code class=\"\" data-line=\"\">list<\/code> vs <code class=\"\" data-line=\"\">set<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-34\">6. \u041f\u0430\u043c\u044f\u0442\u044c: <code class=\"\" data-line=\"\">set<\/code> vs <code class=\"\" data-line=\"\">frozenset<\/code><\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-35\">7. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f: <code class=\"\" data-line=\"\">list.append<\/code> vs <code class=\"\" data-line=\"\">deque.append<\/code> vs <code class=\"\" data-line=\"\">deque.appendleft<\/code><\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-36\">\ud83e\udde0 \u041e\u0431\u0449\u0438\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-37\">\ud83d\udcca \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-38\">\ud83d\udca1 \u041a\u043e\u0433\u0434\u0430 \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c?<\/a><\/li><\/ol><\/div><h2 id=\"rtoc-1\"  class=\"wp-block-heading\">\u0427\u0442\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0435\u0439<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b <strong>\u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438<\/strong>, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0433\u0440\u0443\u043f\u043f\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">int<\/code>, <code class=\"\" data-line=\"\">float<\/code>, <code class=\"\" data-line=\"\">bool<\/code> \u2014 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">None<\/code> \u2014 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/li>\n\n\n\n<li>\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043c\u043e\u0434\u0443\u043b\u0438, \u043a\u043b\u0430\u0441\u0441\u044b \u2014 \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043d\u043e \u043d\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 <code class=\"\" data-line=\"\">__dict__<\/code>)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-2\"  class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0431\u0435\u0437 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0422\u0438\u043f<\/th><th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th><\/tr><\/thead><tbody><tr><td><code class=\"\" data-line=\"\">list<\/code><\/td><td>\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439, \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">tuple<\/code><\/td><td>\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439, \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0440\u0442\u0435\u0436.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">dict<\/code><\/td><td>\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439 (\u0441 Python 3.7+) \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">set<\/code><\/td><td>\u041d\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u043e\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">frozenset<\/code><\/td><td>\u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f <code class=\"\" data-line=\"\">set<\/code>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-3\"  class=\"wp-block-heading\">\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0422\u0438\u043f<\/th><th>\u041c\u043e\u0434\u0443\u043b\u044c<\/th><th>\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d<\/th><\/tr><\/thead><tbody><tr><td><code class=\"\" data-line=\"\">SimpleNamespace<\/code><\/td><td><code class=\"\" data-line=\"\">types<\/code><\/td><td>\u041e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438 (\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443).<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">namedtuple<\/code><\/td><td><code class=\"\" data-line=\"\">collections<\/code><\/td><td>\u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0440\u0442\u0435\u0436 \u0441 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">deque<\/code><\/td><td><code class=\"\" data-line=\"\">collections<\/code><\/td><td>\u0414\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044f\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u2014 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430 \u043a\u043e\u043d\u0446\u0430\u0445.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">Counter<\/code><\/td><td><code class=\"\" data-line=\"\">collections<\/code><\/td><td>\u0421\u043b\u043e\u0432\u0430\u0440\u044c-\u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0447\u0430\u0441\u0442\u043e\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">defaultdict<\/code><\/td><td><code class=\"\" data-line=\"\">collections<\/code><\/td><td>\u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">dataclass<\/code><\/td><td><code class=\"\" data-line=\"\">dataclasses<\/code><\/td><td>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 <code class=\"\" data-line=\"\">__init__<\/code>, <code class=\"\" data-line=\"\">__repr__<\/code>, <code class=\"\" data-line=\"\">__eq__<\/code> \u0438 \u0434\u0440.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">UserList<\/code><\/td><td><code class=\"\" data-line=\"\">collections<\/code><\/td><td>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u0441\u043f\u0438\u0441\u043a\u043e\u0432.<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">UserDict<\/code><\/td><td><code class=\"\" data-line=\"\">collections<\/code><\/td><td>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-4\"  class=\"wp-block-heading\">\u0414\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u043e\u043d\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0442\u0438\u043f\u044b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0425\u043e\u0442\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u00ab\u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438\u00bb \u0432 \u0431\u044b\u0442\u043e\u0432\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435, \u044d\u0442\u0438 \u0442\u0438\u043f\u044b \u0442\u043e\u0436\u0435 \u0445\u0440\u0430\u043d\u044f\u0442 \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<h3 id=\"rtoc-5\"  class=\"wp-block-heading\">1. <code class=\"\" data-line=\"\">str<\/code> \u2014 \u0441\u0442\u0440\u043e\u043a\u0430<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">s = &quot;Python&quot;\nprint(len(s))        # \u2192 6\nprint(s&#091;0])          # \u2192 P\nprint(&#039;y&#039; in s)      # \u2192 True\nprint(list(s))       # \u2192 &#091;&#039;P&#039;, &#039;y&#039;, &#039;t&#039;, &#039;h&#039;, &#039;o&#039;, &#039;n&#039;]<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-6\"  class=\"wp-block-heading\">2. <code class=\"\" data-line=\"\">bytes<\/code>, <code class=\"\" data-line=\"\">bytearray<\/code><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">bytes<\/code> \u2014 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u0439\u0442\u043e\u0432.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">bytearray<\/code> \u2014 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">b = b&quot;hello&quot;\nprint(b&#091;0])          # \u2192 104\nprint(len(b))        # \u2192 5\n\nba = bytearray(b&quot;hello&quot;)\nba&#091;0] = 72\nprint(ba)            # \u2192 bytearray(b&#039;Hello&#039;)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-7\"  class=\"wp-block-heading\">3. <code class=\"\" data-line=\"\">range<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041b\u0435\u043d\u0438\u0432\u0430\u044f \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0447\u0438\u0441\u0435\u043b. \u041d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">r = range(3)\nprint(list(r))       # \u2192 &#091;0, 1, 2]\nprint(1 in r)        # \u2192 True\nprint(r&#091;2])          # \u2192 2<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-8\"  class=\"wp-block-heading\">4. <code class=\"\" data-line=\"\">array.array<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0425\u0440\u0430\u043d\u0438\u0442 \u043e\u0434\u043d\u043e\u0442\u0438\u043f\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e (\u043a\u0430\u043a \u0432 C).<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from array import array\narr = array(&#039;i&#039;, &#091;1, 2, 3])  # &#039;i&#039; = signed int\nprint(arr)                   # \u2192 array(&#039;i&#039;, &#091;1, 2, 3])<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-9\"  class=\"wp-block-heading\">5. \u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0438 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435 \u0445\u0440\u0430\u043d\u044f\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u2014 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443. \u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 <code class=\"\" data-line=\"\">len()<\/code> \u0438\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">gen = (x * 2 for x in range(3))\nprint(list(gen))     # \u2192 &#091;0, 2, 4]\n# len(gen) \u2192 TypeError<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-10\"  class=\"wp-block-heading\">6. <code class=\"\" data-line=\"\">ChainMap<\/code> (\u0438\u0437 <code class=\"\" data-line=\"\">collections<\/code>)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0432 \u043e\u0434\u043d\u0443 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u2014 \u043f\u043e\u0438\u0441\u043a \u0438\u0434\u0451\u0442 \u043f\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import ChainMap\n\nd1 = {&#039;a&#039;: 1}\nd2 = {&#039;b&#039;: 2}\ncm = ChainMap(d1, d2)\nprint(cm&#091;&#039;a&#039;])       # \u2192 1\nprint(cm&#091;&#039;b&#039;])       # \u2192 2<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-11\"  class=\"wp-block-heading\">7. <code class=\"\" data-line=\"\">OrderedDict<\/code> (\u0438\u0437 <code class=\"\" data-line=\"\">collections<\/code>)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u0432\u0441\u0442\u0430\u0432\u043a\u0438. \u0410\u043a\u0442\u0443\u0430\u043b\u0435\u043d \u0434\u043b\u044f Python < 3.7.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import OrderedDict\n\nod = OrderedDict([(&#039;a&#039;, 1), (&#039;b&#039;, 2)])\nprint(od)            # \u2192 OrderedDict([(&#039;a&#039;, 1), (&#039;b&#039;, 2)])<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-12\"  class=\"wp-block-heading\">8. <code class=\"\" data-line=\"\">enum.Enum<\/code>, <code class=\"\" data-line=\"\">enum.Flag<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks line-numbers\"><code class=\" language-python\" data-line=\"\">from enum import Enum\nclass Color(Enum):\n    RED = 1\n    GREEN = 2\nprint(list(Color))   # \u2192 [, ]<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-13\"  class=\"wp-block-heading\">9. <code class=\"\" data-line=\"\">typing.NamedTuple<\/code>, <code class=\"\" data-line=\"\">typing.TypedDict<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u0431\u0451\u0440\u0442\u043a\u0438 \u043d\u0430\u0434 <code class=\"\" data-line=\"\">namedtuple<\/code> \u0438 <code class=\"\" data-line=\"\">dict<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from typing import NamedTuple, TypedDict\n\nclass Person(NamedTuple):\n    name: str\n    age: int\n\np = Person(&quot;\u0410\u043b\u0438\u0441\u0430&quot;, 25)\n\nclass Movie(TypedDict):\n    title: str\n    year: int\n\nm: Movie = {&quot;title&quot;: &quot;Matrix&quot;, &quot;year&quot;: 1999}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-14\"  class=\"wp-block-heading\">10. <code class=\"\" data-line=\"\">heapq<\/code>, <code class=\"\" data-line=\"\">bisect<\/code> \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0430 \u043d\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438, \u043d\u043e \u0441\u0430\u043c\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">heapq<\/code> \u2014 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u0443\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0438\u0441\u043a\u0438.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">bisect<\/code> \u2014 \u0432\u0441\u0442\u0430\u0432\u043a\u0430 \u0432 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0430.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-15\"  class=\"wp-block-heading\">1. \u0421\u043f\u0438\u0441\u043a\u0438 \u2014 <code class=\"\" data-line=\"\">list<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u0430\u044f, \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f. \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f, \u0442\u0438\u043f\u044b \u2014 \u043b\u044e\u0431\u044b\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u0430 \u0433\u0438\u0431\u043a\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435, \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435: <code class=\"\" data-line=\"\">[]<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">boris_list = &#091;&quot;\u0411\u043e\u0440\u0438\u0441&quot;, &quot;\u041c\u043e\u0441\u043a\u0432\u0430&quot;, 30, &quot;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&quot;]\nprint(f&quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430: {boris_list}&quot;)\n# \u2192 \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, 30, &#039;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&#039;]\n\nprint(f&quot;\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 0: {boris_list&#091;0]}&quot;)\n# \u2192 \u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 0: \u0411\u043e\u0440\u0438\u0441\n\nboris_list&#091;2] = 31\nprint(f&quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: {boris_list}&quot;)\n# \u2192 \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, 31, &#039;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&#039;]\n\nboris_list.append(&quot;\u0436\u0435\u043d\u0430\u0442&quot;)\nprint(f&quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043d\u0435\u0446: {boris_list}&quot;)\n# \u2192 \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043d\u0435\u0446: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, 31, &#039;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&#039;, &#039;\u0436\u0435\u043d\u0430\u0442&#039;]\n\nboris_list.insert(1, &quot;\u0420\u043e\u0441\u0441\u0438\u044f&quot;)\nprint(f&quot;\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: {boris_list}&quot;)\n# \u2192 \u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u0420\u043e\u0441\u0441\u0438\u044f&#039;, &#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, 31, &#039;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&#039;, &#039;\u0436\u0435\u043d\u0430\u0442&#039;]\n\nboris_list.remove(&quot;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&quot;)\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e: {boris_list}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u0420\u043e\u0441\u0441\u0438\u044f&#039;, &#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, 31, &#039;\u0436\u0435\u043d\u0430\u0442&#039;]\n\ndel boris_list&#091;2]\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443: {boris_list}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u0420\u043e\u0441\u0441\u0438\u044f&#039;, 31, &#039;\u0436\u0435\u043d\u0430\u0442&#039;]\n\nboris_list.extend(&#091;&quot;\u0445\u043e\u0431\u0431\u0438&quot;, &quot;\u0440\u044b\u0431\u0430\u043b\u043a\u0430&quot;])\nprint(f&quot;\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430: {boris_list}&quot;)\n# \u2192 \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u0420\u043e\u0441\u0441\u0438\u044f&#039;, 31, &#039;\u0436\u0435\u043d\u0430\u0442&#039;, &#039;\u0445\u043e\u0431\u0431\u0438&#039;, &#039;\u0440\u044b\u0431\u0430\u043b\u043a\u0430&#039;]\n\nboris_list.pop()\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441 \u043a\u043e\u043d\u0446\u0430: {boris_list}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441 \u043a\u043e\u043d\u0446\u0430: &#091;&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u0420\u043e\u0441\u0441\u0438\u044f&#039;, 31, &#039;\u0436\u0435\u043d\u0430\u0442&#039;, &#039;\u0445\u043e\u0431\u0431\u0438&#039;]<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-16\"  class=\"wp-block-heading\">2. \u0421\u043b\u043e\u0432\u0430\u0440\u0438 \u2014 <code class=\"\" data-line=\"\">dict<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043f\u0430\u0440 <strong>\u043a\u043b\u044e\u0447 \u2192 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong>. \u041a\u043b\u044e\u0447\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0445\u0435\u0448\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438. \u0421 Python 3.7 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0441\u0442\u0430\u0432\u043a\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u043f\u0440\u043e\u0444\u0438\u043b\u0438, \u043a\u043e\u043d\u0444\u0438\u0433\u0438, JSON.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435: <code class=\"\" data-line=\"\">{}<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">alice_dict = {&quot;name&quot;: &quot;\u0410\u043b\u0438\u0441\u0430&quot;, &quot;age&quot;: 25, &quot;city&quot;: &quot;\u041b\u043e\u043d\u0434\u043e\u043d&quot;, &quot;occupation&quot;: &quot;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&quot;}\nprint(f&quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f: {alice_dict}&quot;)\n# \u2192 \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f: {&#039;name&#039;: &#039;\u0410\u043b\u0438\u0441\u0430&#039;, &#039;age&#039;: 25, &#039;city&#039;: &#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;, &#039;occupation&#039;: &#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;}\n\nprint(f&quot;\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 &#039;name&#039;: {alice_dict&#091;&#039;name&#039;]}&quot;)\n# \u2192 \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 &#039;name&#039;: \u0410\u043b\u0438\u0441\u0430\n\nalice_dict&#091;&quot;age&quot;] = 26\nprint(f&quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: {alice_dict}&quot;)\n# \u2192 \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: {&#039;name&#039;: &#039;\u0410\u043b\u0438\u0441\u0430&#039;, &#039;age&#039;: 26, &#039;city&#039;: &#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;, &#039;occupation&#039;: &#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;}\n\nalice_dict&#091;&quot;hobby&quot;] = &quot;\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435&quot;\nprint(f&quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u044b: {alice_dict}&quot;)\n# \u2192 \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u044b: {&#039;name&#039;: &#039;\u0410\u043b\u0438\u0441\u0430&#039;, &#039;age&#039;: 26, &#039;city&#039;: &#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;, &#039;occupation&#039;: &#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;, &#039;hobby&#039;: &#039;\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435&#039;}\n\ndel alice_dict&#091;&quot;city&quot;]\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u044b: {alice_dict}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u044b: {&#039;name&#039;: &#039;\u0410\u043b\u0438\u0441\u0430&#039;, &#039;age&#039;: 26, &#039;occupation&#039;: &#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;, &#039;hobby&#039;: &#039;\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435&#039;}\n\nhobby = alice_dict.pop(&quot;hobby&quot;)\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043e\u043c: {alice_dict}, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: {hobby}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043e\u043c: {&#039;name&#039;: &#039;\u0410\u043b\u0438\u0441\u0430&#039;, &#039;age&#039;: 26, &#039;occupation&#039;: &#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;}, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435\n\nprint(f&quot;\u0415\u0441\u0442\u044c \u043b\u0438 \u043a\u043b\u044e\u0447 &#039;name&#039;: {&#039;name&#039; in alice_dict}&quot;)\n# \u2192 \u0415\u0441\u0442\u044c \u043b\u0438 \u043a\u043b\u044e\u0447 &#039;name&#039;: True<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-17\"  class=\"wp-block-heading\">3. \u041a\u043e\u0440\u0442\u0435\u0436\u0438 \u2014 <code class=\"\" data-line=\"\">tuple<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u0430\u044f, \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f. \u041f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0436\u043d\u0430 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u044c: \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435: <code class=\"\" data-line=\"\">()<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">boris_tuple = (&quot;\u0411\u043e\u0440\u0438\u0441&quot;, &quot;\u041c\u043e\u0441\u043a\u0432\u0430&quot;, 30, &quot;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&quot;)\nprint(f&quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u0440\u0442\u0435\u0436\u0430: {boris_tuple}&quot;)\n# \u2192 \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u0440\u0442\u0435\u0436\u0430: (&#039;\u0411\u043e\u0440\u0438\u0441&#039;, &#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, 30, &#039;\u0438\u043d\u0436\u0435\u043d\u0435\u0440&#039;)\n\nprint(f&quot;\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 2: {boris_tuple&#091;2]}&quot;)\n# \u2192 \u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 2: 30\n\n# boris_tuple&#091;0] = &quot;\u0418\u0432\u0430\u043d&quot;  \u2192 TypeError\n# boris_tuple.append(&quot;\u0447\u0442\u043e-\u0442\u043e&quot;) \u2192 AttributeError<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u041a\u043e\u0440\u0442\u0435\u0436\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0441\u043f\u0438\u0441\u043a\u043e\u0432. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u0430.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-18\"  class=\"wp-block-heading\">4. SimpleNamespace<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f <code class=\"\" data-line=\"\">types<\/code> \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438. \u0414\u043e\u0441\u0442\u0443\u043f \u2014 \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443 (<code class=\"\" data-line=\"\">obj.attr<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u0435\u0437\u0435\u043d, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u0435\u043d \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 <code class=\"\" data-line=\"\">obj.name<\/code> \u0431\u0435\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from types import SimpleNamespace\n\nalice_ns = SimpleNamespace(name=&quot;\u0410\u043b\u0438\u0441\u0430&quot;, age=25, city=&quot;\u041b\u043e\u043d\u0434\u043e\u043d&quot;)\nprint(f&quot;\u041e\u0431\u044a\u0435\u043a\u0442: {alice_ns}&quot;)\n# \u2192 \u041e\u0431\u044a\u0435\u043a\u0442: namespace(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=25, city=&#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;)\n\nprint(f&quot;\u0418\u043c\u044f: {alice_ns.name}&quot;)\n# \u2192 \u0418\u043c\u044f: \u0410\u043b\u0438\u0441\u0430\n\nalice_ns.age = 26\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: {alice_ns}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: namespace(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, city=&#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;)\n\nalice_ns.occupation = &quot;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&quot;\nprint(f&quot;\u0421 \u043d\u043e\u0432\u044b\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c: {alice_ns}&quot;)\n# \u2192 \u0421 \u043d\u043e\u0432\u044b\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c: namespace(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, city=&#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;, occupation=&#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;)\n\ndel alice_ns.city\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f: {alice_ns}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f: namespace(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, occupation=&#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;)\n\nsetattr(alice_ns, &quot;hobby&quot;, &quot;\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435&quot;)\nprint(f&quot;\u0427\u0435\u0440\u0435\u0437 setattr: {alice_ns}&quot;)\n# \u2192 \u0427\u0435\u0440\u0435\u0437 setattr: namespace(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, occupation=&#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;, hobby=&#039;\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435&#039;)\n\ndelattr(alice_ns, &quot;hobby&quot;)\nprint(f&quot;\u0427\u0435\u0440\u0435\u0437 delattr: {alice_ns}&quot;)\n# \u2192 \u0427\u0435\u0440\u0435\u0437 delattr: namespace(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, occupation=&#039;\u0445\u0443\u0434\u043e\u0436\u043d\u0438\u0446\u0430&#039;)<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0441\u043b\u043e\u0432\u0430\u0440\u044e, \u043a\u043e\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043f\u0438\u0441\u0430\u0442\u044c <code class=\"\" data-line=\"\">obj.name<\/code>, \u0430 \u043d\u0435 <code class=\"\" data-line=\"\">obj[&#039;name&#039;]<\/code>.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-19\"  class=\"wp-block-heading\">5. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u2014 <code class=\"\" data-line=\"\">set<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438: \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435, \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435: <code class=\"\" data-line=\"\">{}<\/code> \u0438\u043b\u0438 <code class=\"\" data-line=\"\">set()<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">numbers = {1, 2, 3, 3, 2, 1}\nprint(f&quot;\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e: {numbers}&quot;)\n# \u2192 \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e: {1, 2, 3}\n\nnumbers.add(4)\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f: {numbers}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f: {1, 2, 3, 4}\n\nnumbers.remove(2)\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f: {numbers}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f: {1, 3, 4}\n\nother = {3, 4, 5}\nprint(f&quot;\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435: {numbers | other}&quot;)\n# \u2192 \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435: {1, 3, 4, 5}\n\nprint(f&quot;\u041f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435: {numbers &amp; other}&quot;)\n# \u2192 \u041f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435: {3, 4}\n\nprint(f&quot;\u0420\u0430\u0437\u043d\u043e\u0441\u0442\u044c: {numbers - other}&quot;)\n# \u2192 \u0420\u0430\u0437\u043d\u043e\u0441\u0442\u044c: {1}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-20\"  class=\"wp-block-heading\">6. \u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u2014 <code class=\"\" data-line=\"\">frozenset<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f <code class=\"\" data-line=\"\">set<\/code>. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043a\u043b\u044e\u0447 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u0438\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">frozen = frozenset(&#091;1, 2, 3, 2])\nprint(f&quot;frozenset: {frozen}&quot;)\n# \u2192 frozenset: frozenset({1, 2, 3})\n\nother = frozenset(&#091;3, 4])\nprint(f&quot;\u041f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435: {frozen &amp; other}&quot;)\n# \u2192 \u041f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435: frozenset({3})\n\nprint(f&quot;\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435: {frozen | other}&quot;)\n# \u2192 \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435: frozenset({1, 2, 3, 4})\n\n# frozen.add(5) \u2192 AttributeError<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-21\"  class=\"wp-block-heading\">7. namedtuple \u2014 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u0440\u0442\u0435\u0436\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c \u043f\u043e\u043b\u0435\u0439. \u0410\u043d\u0430\u043b\u043e\u0433 \u043a\u043e\u0440\u0442\u0435\u0436\u0430, \u043d\u043e \u0447\u0438\u0442\u0430\u0435\u043c\u0435\u0435.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import namedtuple\n\nPerson = namedtuple(&quot;Person&quot;, &#091;&quot;name&quot;, &quot;age&quot;, &quot;city&quot;])\nalice = Person(&quot;\u0410\u043b\u0438\u0441\u0430&quot;, 25, &quot;\u041b\u043e\u043d\u0434\u043e\u043d&quot;)\n\nprint(f&quot;\u041e\u0431\u044a\u0435\u043a\u0442: {alice}&quot;)\n# \u2192 \u041e\u0431\u044a\u0435\u043a\u0442: Person(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=25, city=&#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;)\n\nprint(f&quot;\u0418\u043c\u044f: {alice.name}&quot;)\n# \u2192 \u0418\u043c\u044f: \u0410\u043b\u0438\u0441\u0430\n\nprint(f&quot;\u0412\u043e\u0437\u0440\u0430\u0441\u0442: {alice&#091;1]}&quot;)\n# \u2192 \u0412\u043e\u0437\u0440\u0430\u0441\u0442: 25\n\n# alice.age = 26 \u2192 AttributeError (\u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439)\n\nalice_new = alice._replace(age=26)\nprint(f&quot;\u041a\u043e\u043f\u0438\u044f \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c: {alice_new}&quot;)\n# \u2192 \u041a\u043e\u043f\u0438\u044f \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c: Person(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, city=&#039;\u041b\u043e\u043d\u0434\u043e\u043d&#039;)<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u041e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0435\u0439: \u0442\u043e\u0447\u043a\u0438, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u2014 \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0436\u043d\u0430 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0438 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-22\"  class=\"wp-block-heading\">8. deque \u2014 \u0434\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044f\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u044c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u043a\u043e\u043d\u0446\u0435. \u0410\u043d\u0430\u043b\u043e\u0433 \u0441\u043f\u0438\u0441\u043a\u0430, \u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0434\u043b\u044f <code class=\"\" data-line=\"\">appendleft<\/code>, <code class=\"\" data-line=\"\">popleft<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import deque\n\nd = deque(&#091;1, 2, 3])\nprint(f&quot;\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 deque: {d}&quot;)\n# \u2192 \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 deque: deque(&#091;1, 2, 3])\n\nd.appendleft(0)\nprint(f&quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430: {d}&quot;)\n# \u2192 \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430: deque(&#091;0, 1, 2, 3])\n\nd.append(4)\nprint(f&quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430: {d}&quot;)\n# \u2192 \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430: deque(&#091;0, 1, 2, 3, 4])\n\nleft = d.popleft()\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430: {left}, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c: {d}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430: 0, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c: deque(&#091;1, 2, 3, 4])\n\nright = d.pop()\nprint(f&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430: {right}, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c: {d}&quot;)\n# \u2192 \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430: 4, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c: deque(&#091;1, 2, 3])<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445: BFS, \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (LRU), \u0431\u0443\u0444\u0435\u0440\u044b, \u0433\u0434\u0435 \u0432\u0430\u0436\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u043a\u043e\u043d\u0446\u0430\u0445.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-23\"  class=\"wp-block-heading\">9. Counter \u2014 \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0434\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0438\u0442\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435. \u0423\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438, \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import Counter\n\ntext = &quot;\u0430\u0431\u0440\u0430\u043a\u0430\u0434\u0430\u0431\u0440\u0430&quot;\nc = Counter(text)\nprint(f&quot;\u0421\u0447\u0451\u0442\u0447\u0438\u043a \u0431\u0443\u043a\u0432: {c}&quot;)\n# \u2192 \u0421\u0447\u0451\u0442\u0447\u0438\u043a \u0431\u0443\u043a\u0432: Counter({&#039;\u0430&#039;: 5, &#039;\u0431&#039;: 2, &#039;\u0440&#039;: 2, &#039;\u043a&#039;: 1, &#039;\u0434&#039;: 1})\n\nprint(f&quot;\u0427\u0430\u0441\u0442\u043e\u0442\u0430 &#039;\u0430&#039;: {c&#091;&#039;\u0430&#039;]}&quot;)\n# \u2192 \u0427\u0430\u0441\u0442\u043e\u0442\u0430 &#039;\u0430&#039;: 5\n\nprint(f&quot;\u0422\u043e\u043f-3: {c.most_common(3)}&quot;)\n# \u2192 \u0422\u043e\u043f-3: &#091;(&#039;\u0430&#039;, 5), (&#039;\u0431&#039;, 2), (&#039;\u0440&#039;, 2)]\n\nc2 = Counter(&quot;\u0431\u0443\u043a\u0432\u0430&quot;)\nc.update(c2)\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 update: {c}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 update: Counter({&#039;\u0430&#039;: 6, &#039;\u0431&#039;: 3, &#039;\u0440&#039;: 2, &#039;\u043a&#039;: 2, &#039;\u0434&#039;: 1, &#039;\u0443&#039;: 1, &#039;\u0432&#039;: 1})<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u041f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432, \u043b\u043e\u0433\u043e\u0432, \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 \u0432\u0435\u0437\u0434\u0435, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u00ab\u0447\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0430\u0449\u0435\u00bb.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-24\"  class=\"wp-block-heading\">10. defaultdict \u2014 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u043a\u043b\u044e\u0447\u0430. \u0423\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a <code class=\"\" data-line=\"\">if key in dict<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import defaultdict\n\ndd_list = defaultdict(list)\ndd_list&#091;&quot;fruits&quot;].append(&quot;\u044f\u0431\u043b\u043e\u043a\u043e&quot;)\ndd_list&#091;&quot;fruits&quot;].append(&quot;\u0431\u0430\u043d\u0430\u043d&quot;)\nprint(f&quot;\u0421\u043f\u0438\u0441\u043e\u043a: {dict(dd_list)}&quot;)\n# \u2192 \u0421\u043f\u0438\u0441\u043e\u043a: {&#039;fruits&#039;: &#091;&#039;\u044f\u0431\u043b\u043e\u043a\u043e&#039;, &#039;\u0431\u0430\u043d\u0430\u043d&#039;]}\n\ndd_int = defaultdict(int)\nfor char in &quot;\u0430\u0431\u0440\u0430\u043a\u0430\u0434\u0430\u0431\u0440\u0430&quot;:\n    dd_int&#091;char] += 1\nprint(f&quot;\u0421\u0447\u0451\u0442\u0447\u0438\u043a: {dict(dd_int)}&quot;)\n# \u2192 \u0421\u0447\u0451\u0442\u0447\u0438\u043a: {&#039;\u0430&#039;: 5, &#039;\u0431&#039;: 2, &#039;\u0440&#039;: 2, &#039;\u043a&#039;: 1, &#039;\u0434&#039;: 1}\n\ndd_set = defaultdict(set)\ndd_set&#091;&quot;cities&quot;].add(&quot;\u041c\u043e\u0441\u043a\u0432\u0430&quot;)\ndd_set&#091;&quot;cities&quot;].add(&quot;\u0421\u041f\u0431&quot;)\nprint(f&quot;\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e: {dict(dd_set)}&quot;)\n# \u2192 \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e: {&#039;cities&#039;: {&#039;\u041c\u043e\u0441\u043a\u0432\u0430&#039;, &#039;\u0421\u041f\u0431&#039;}}<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u0423\u0431\u0438\u0440\u0430\u0435\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u0438\u0434\u0430 <code class=\"\" data-line=\"\">if key not in d: d[key] = []<\/code>. \u0414\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u0447\u0438\u0449\u0435 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-25\"  class=\"wp-block-heading\">11. dataclass \u2014 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0441 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c, \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c, \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u0438 \u0442.\u0434.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from dataclasses import dataclass\n\n@dataclass\nclass Person:\n    name: str\n    age: int\n    city: str = &quot;\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d&quot;\n\nalice = Person(&quot;\u0410\u043b\u0438\u0441\u0430&quot;, 25)\nprint(f&quot;\u041e\u0431\u044a\u0435\u043a\u0442: {alice}&quot;)\n# \u2192 \u041e\u0431\u044a\u0435\u043a\u0442: Person(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=25, city=&#039;\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d&#039;)\n\nprint(f&quot;\u0418\u043c\u044f: {alice.name}&quot;)\n# \u2192 \u0418\u043c\u044f: \u0410\u043b\u0438\u0441\u0430\n\nalice.age = 26\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: {alice}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: Person(name=&#039;\u0410\u043b\u0438\u0441\u0430&#039;, age=26, city=&#039;\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d&#039;)\n\nbob = Person(&quot;\u0411\u043e\u0431&quot;, 30)\nprint(f&quot;\u0410\u043b\u0438\u0441\u0430 == \u0411\u043e\u0431: {alice == bob}&quot;)\n# \u2192 \u0410\u043b\u0438\u0441\u0430 == \u0411\u043e\u0431: False\n\n@dataclass(frozen=True)\nclass ImmutablePerson:\n    name: str\n    age: int\n\nivan = ImmutablePerson(&quot;\u0418\u0432\u0430\u043d&quot;, 40)\n# ivan.age = 41 \u2192 FrozenInstanceError<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u0417\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0440\u0443\u0447\u043d\u043e\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 <code class=\"\" data-line=\"\">__init__<\/code>, <code class=\"\" data-line=\"\">__repr__<\/code>, <code class=\"\" data-line=\"\">__eq__<\/code>. \u0418\u0434\u0435\u0430\u043b\u0435\u043d \u0434\u043b\u044f DTO, \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432, \u043c\u043e\u0434\u0435\u043b\u0435\u0439.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-26\"  class=\"wp-block-heading\">12. UserList \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 <code class=\"\" data-line=\"\">collections.UserList<\/code>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import UserList\n\nclass LoggingList(UserList):\n    def append(self, item):\n        print(f&quot;&#091;LOG] \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435: {item}&quot;)\n        super().append(item)\n\n    def remove(self, item):\n        print(f&quot;&#091;LOG] \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435: {item}&quot;)\n        super().remove(item)\n\nlog_list = LoggingList(&#091;1, 2, 3])\nprint(f&quot;\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439: {log_list}&quot;)\n# \u2192 \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439: &#091;1, 2, 3]\n\nlog_list.append(4)\n# \u2192 &#091;LOG] \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435: 4\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 append: {log_list}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 append: &#091;1, 2, 3, 4]\n\nlog_list.remove(2)\n# \u2192 &#091;LOG] \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435: 2\nprint(f&quot;\u041f\u043e\u0441\u043b\u0435 remove: {log_list}&quot;)\n# \u2192 \u041f\u043e\u0441\u043b\u0435 remove: &#091;1, 3, 4]<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u041f\u043e\u043b\u0435\u0437\u0435\u043d, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e, \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-27\"  class=\"wp-block-heading\">13. UserDict \u2014 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 <code class=\"\" data-line=\"\">collections.UserDict<\/code>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import UserDict\n\nclass LowerKeyDict(UserDict):\n    def __setitem__(self, key, value):\n        key = key.lower() if isinstance(key, str) else key\n        super().__setitem__(key, value)\n\n    def __getitem__(self, key):\n        key = key.lower() if isinstance(key, str) else key\n        return super().__getitem__(key)\n\nld = LowerKeyDict()\nld&#091;&quot;Name&quot;] = &quot;\u0410\u043b\u0438\u0441\u0430&quot;\nprint(f&quot;\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e &#039;Name&#039;: {ld&#091;&#039;Name&#039;]}&quot;)\n# \u2192 \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e &#039;Name&#039;: \u0410\u043b\u0438\u0441\u0430\nprint(f&quot;\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e &#039;name&#039;: {ld&#091;&#039;name&#039;]}&quot;)\n# \u2192 \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e &#039;name&#039;: \u0410\u043b\u0438\u0441\u0430\nprint(f&quot;\u041a\u043b\u044e\u0447\u0438: {list(ld.keys())}&quot;)\n# \u2192 \u041a\u043b\u044e\u0447\u0438: &#091;&#039;name&#039;]<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0441 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u044e\u0447\u0435\u0439, \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0435\u0439, \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0442.\u043f.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-28\"  class=\"wp-block-heading\">\ud83d\udcc8 \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044b\u0431\u043e\u0440 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 <strong>\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/strong> \u0438 <strong>\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<\/strong>. \u041d\u0438\u0436\u0435 \u2014 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u043c\u0435\u0440\u044b \u0434\u043b\u044f \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-29\"  class=\"wp-block-heading\">1. \u041f\u0430\u043c\u044f\u0442\u044c: <code class=\"\" data-line=\"\">list<\/code> vs <code class=\"\" data-line=\"\">tuple<\/code> vs <code class=\"\" data-line=\"\">array.array<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438\u0437 1 000 000 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">import sys\nfrom array import array\n\nn = 1_000_000\ndata = list(range(n))        # list\ndata_t = tuple(range(n))     # tuple\ndata_a = array(&#039;i&#039;, range(n)) # array.array\n\nprint(f&quot;list:  {sys.getsizeof(data) \/ 1024 \/ 1024:.2f} MB&quot;)\n# \u2192 list:  8.00 MB (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e)\n\nprint(f&quot;tuple: {sys.getsizeof(data_t) \/ 1024 \/ 1024:.2f} MB&quot;)\n# \u2192 tuple: 8.00 MB (\u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a list)\n\nprint(f&quot;array: {sys.getsizeof(data_a) \/ 1024 \/ 1024:.2f} MB&quot;)\n# \u2192 array: 3.81 MB<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">array.array<\/code> \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 ~2x \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0447\u0438\u0441\u0435\u043b.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">list<\/code> \u0438 <code class=\"\" data-line=\"\">tuple<\/code> \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u043d\u043e <code class=\"\" data-line=\"\">tuple<\/code> \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u0438 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-30\"  class=\"wp-block-heading\">2. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430: <code class=\"\" data-line=\"\">list<\/code> vs <code class=\"\" data-line=\"\">tuple<\/code> vs <code class=\"\" data-line=\"\">array.array<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043c\u0435\u0440\u0438\u043c \u0432\u0440\u0435\u043c\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438\u0437 10 000 000 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">import time\n\ndef time_access(collection, name):\n    start = time.perf_counter()\n    total = 0\n    for i in range(len(collection)):\n        total += collection&#091;i]\n    end = time.perf_counter()\n    print(f&quot;{name}: {end - start:.4f} \u0441\u0435\u043a\u0443\u043d\u0434&quot;)\n\nn = 10_000_000\nlst = list(range(n))\ntpl = tuple(range(n))\narr = array(&#039;i&#039;, range(n))\n\ntime_access(lst, &quot;list&quot;)\n# \u2192 list: 1.2000 \u0441\u0435\u043a\u0443\u043d\u0434 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e)\n\ntime_access(tpl, &quot;tuple&quot;)\n# \u2192 tuple: 1.0000 \u0441\u0435\u043a\u0443\u043d\u0434 (\u0431\u044b\u0441\u0442\u0440\u0435\u0435 list)\n\ntime_access(arr, &quot;array&quot;)\n# \u2192 array: 0.8000 \u0441\u0435\u043a\u0443\u043d\u0434 (\u0441\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439)<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">array.array<\/code> \u2014 \u0441\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0434\u043b\u044f \u0447\u0438\u0441\u0435\u043b.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">tuple<\/code> \u0431\u044b\u0441\u0442\u0440\u0435\u0435 <code class=\"\" data-line=\"\">list<\/code> \u043d\u0430 10\u201320%.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0437\u0430\u043c\u0435\u0442\u043d\u0430 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0451\u043c\u0430\u0445.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-31\"  class=\"wp-block-heading\">3. \u041f\u0430\u043c\u044f\u0442\u044c: <code class=\"\" data-line=\"\">dict<\/code> vs <code class=\"\" data-line=\"\">SimpleNamespace<\/code> vs <code class=\"\" data-line=\"\">dataclass<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441 5 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from types import SimpleNamespace\nfrom dataclasses import dataclass\n\n@dataclass\nclass PersonDC:\n    name: str\n    age: int\n    city: str\n    hobby: str\n    job: str\n\n# \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b\nd = {&quot;name&quot;: &quot;A&quot;, &quot;age&quot;: 25, &quot;city&quot;: &quot;X&quot;, &quot;hobby&quot;: &quot;Y&quot;, &quot;job&quot;: &quot;Z&quot;}\nns = SimpleNamespace(name=&quot;A&quot;, age=25, city=&quot;X&quot;, hobby=&quot;Y&quot;, job=&quot;Z&quot;)\ndc = PersonDC(&quot;A&quot;, 25, &quot;X&quot;, &quot;Y&quot;, &quot;Z&quot;)\n\nprint(f&quot;dict:      {sys.getsizeof(d)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 dict:      232 \u0431\u0430\u0439\u0442\n\nprint(f&quot;SimpleNamespace: {sys.getsizeof(ns)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 SimpleNamespace: 64 \u0431\u0430\u0439\u0442 (\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435; \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 __dict__)\n\nprint(f&quot;dataclass: {sys.getsizeof(dc)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 dataclass: 64 \u0431\u0430\u0439\u0442 (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e)\n\n# \u041d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c __dict__:\nprint(f&quot;ns.__dict__: {sys.getsizeof(ns.__dict__)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 ns.__dict__: 232 \u0431\u0430\u0439\u0442\n\nprint(f&quot;dc.__dict__: {sys.getsizeof(dc.__dict__)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 dc.__dict__: 232 \u0431\u0430\u0439\u0442<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">SimpleNamespace<\/code> \u0438 <code class=\"\" data-line=\"\">dataclass<\/code> \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0442 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0441\u043a\u043e\u043b\u044c\u043a\u043e <code class=\"\" data-line=\"\">dict<\/code>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <code class=\"\" data-line=\"\">__dict__<\/code>.<\/li>\n\n\n\n<li>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u0430 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code class=\"\" data-line=\"\">__slots__<\/code> (\u0441\u043c. \u043d\u0438\u0436\u0435).<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-32\"  class=\"wp-block-heading\">4. \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438: <code class=\"\" data-line=\"\">dataclass<\/code> \u0441 <code class=\"\" data-line=\"\">__slots__<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">@dataclass\nclass PersonSlots:\n    __slots__ = (&quot;name&quot;, &quot;age&quot;, &quot;city&quot;, &quot;hobby&quot;, &quot;job&quot;)\n    name: str\n    age: int\n    city: str\n    hobby: str\n    job: str\n\ndc_slots = PersonSlots(&quot;A&quot;, 25, &quot;X&quot;, &quot;Y&quot;, &quot;Z&quot;)\nprint(f&quot;dataclass + slots: {sys.getsizeof(dc_slots)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 dataclass + slots: 80 \u0431\u0430\u0439\u0442 (\u0431\u0435\u0437 __dict__)\n\n# \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442:\n# dc_slots.new = &quot;value&quot; \u2192 AttributeError<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">__slots__<\/code> \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u0438 \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c.<\/li>\n\n\n\n<li>\u0426\u0435\u043d\u0430 \u2014 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-33\"  class=\"wp-block-heading\">5. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u0430: <code class=\"\" data-line=\"\">list<\/code> vs <code class=\"\" data-line=\"\">set<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 <code class=\"\" data-line=\"\">set<\/code> \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">import time\n\nn = 1_000_000\nlst = list(range(n))\nst = set(range(n))\n\ndef time_in(collection, target, name):\n    start = time.perf_counter()\n    for _ in range(1000):\n        _ = target in collection\n    end = time.perf_counter()\n    print(f&quot;{name} (\u043f\u043e\u0438\u0441\u043a {target}): {end - start:.4f} \u0441\u0435\u043a\u0443\u043d\u0434&quot;)\n\ntime_in(lst, 999_999, &quot;list&quot;)\n# \u2192 list (\u043f\u043e\u0438\u0441\u043a 999999): 10.0000 \u0441\u0435\u043a\u0443\u043d\u0434 (\u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a)\n\ntime_in(st, 999_999, &quot;set&quot;)\n# \u2192 set (\u043f\u043e\u0438\u0441\u043a 999999): 0.0005 \u0441\u0435\u043a\u0443\u043d\u0434 (\u0445\u0435\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u0430)<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">set<\/code> \u0432 \u0442\u044b\u0441\u044f\u0447\u0438 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 <code class=\"\" data-line=\"\">list<\/code> \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u0412\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 <code class=\"\" data-line=\"\">set<\/code>, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c <code class=\"\" data-line=\"\">x in collection<\/code>.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-34\"  class=\"wp-block-heading\">6. \u041f\u0430\u043c\u044f\u0442\u044c: <code class=\"\" data-line=\"\">set<\/code> vs <code class=\"\" data-line=\"\">frozenset<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">s = set(range(1000))\nfs = frozenset(range(1000))\n\nprint(f&quot;set:       {sys.getsizeof(s)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 set:       32792 \u0431\u0430\u0439\u0442\n\nprint(f&quot;frozenset: {sys.getsizeof(fs)} \u0431\u0430\u0439\u0442&quot;)\n# \u2192 frozenset: 32792 \u0431\u0430\u0439\u0442<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">frozenset<\/code> \u0438 <code class=\"\" data-line=\"\">set<\/code> \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-35\"  class=\"wp-block-heading\">7. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f: <code class=\"\" data-line=\"\">list.append<\/code> vs <code class=\"\" data-line=\"\">deque.append<\/code> vs <code class=\"\" data-line=\"\">deque.appendleft<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">from collections import deque\nimport time\n\ndef time_append(collection, n, method=&#039;append&#039;):\n    start = time.perf_counter()\n    for i in range(n):\n        if method == &#039;appendleft&#039; and hasattr(collection, &#039;appendleft&#039;):\n            collection.appendleft(i)\n        else:\n            collection.append(i)\n    end = time.perf_counter()\n    return end - start\n\nn = 100_000\n\nlst = &#091;]\ndq = deque()\n\ntime_list_append = time_append(lst, n)\ntime_deque_append = time_append(dq, n)\ntime_deque_appendleft = time_append(deque(), n, &#039;appendleft&#039;)\n\nprint(f&quot;list.append:      {time_list_append:.4f} \u0441\u0435\u043a&quot;)\n# \u2192 list.append:      0.0100 \u0441\u0435\u043a\n\nprint(f&quot;deque.append:     {time_deque_append:.4f} \u0441\u0435\u043a&quot;)\n# \u2192 deque.append:     0.0100 \u0441\u0435\u043a\n\nprint(f&quot;deque.appendleft: {time_deque_appendleft:.4f} \u0441\u0435\u043a&quot;)\n# \u2192 deque.appendleft: 0.0100 \u0441\u0435\u043a\n\n# \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c list.insert(0, x) \u2014 \u043e\u0447\u0435\u043d\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e!\nlst = &#091;]\nstart = time.perf_counter()\nfor i in range(n):\n    lst.insert(0, i)  # O(n) \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0432\u0441\u0442\u0430\u0432\u043a\u0443!\nend = time.perf_counter()\nprint(f&quot;list.insert(0):   {end - start:.4f} \u0441\u0435\u043a&quot;)\n# \u2192 list.insert(0):   5.0000 \u0441\u0435\u043a (\u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f!)<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1 <strong>\u0412\u044b\u0432\u043e\u0434:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">deque.appendleft<\/code> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0437\u0430 O(1), \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 <code class=\"\" data-line=\"\">list.insert(0)<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 O(n).<\/li>\n\n\n\n<li>\u0414\u043b\u044f \u0447\u0430\u0441\u0442\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430 \u043e\u0431\u043e\u0438\u0445 \u043a\u043e\u043d\u0446\u0430\u0445 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e <code class=\"\" data-line=\"\">deque<\/code>.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-36\"  class=\"wp-block-heading\">\ud83e\udde0 \u041e\u0431\u0449\u0438\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f<\/th><th>\u0427\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c<\/th><th>\u041f\u043e\u0447\u0435\u043c\u0443<\/th><\/tr><\/thead><tbody><tr><td>\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b, \u0432\u0430\u0436\u043d\u0430 \u043f\u0430\u043c\u044f\u0442\u044c<\/td><td><code class=\"\" data-line=\"\">array.array<\/code><\/td><td>\u0412 2x \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f<\/td><\/tr><tr><td>\u0414\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f<\/td><td><code class=\"\" data-line=\"\">tuple<\/code><\/td><td>\u0411\u044b\u0441\u0442\u0440\u0435\u0435 <code class=\"\" data-line=\"\">list<\/code>, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435<\/td><\/tr><tr><td>\u0427\u0430\u0441\u0442\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 <code class=\"\" data-line=\"\">x in collection<\/code><\/td><td><code class=\"\" data-line=\"\">set<\/code> \/ <code class=\"\" data-line=\"\">frozenset<\/code><\/td><td>O(1) \u043f\u0440\u043e\u0442\u0438\u0432 O(n) \u0443 <code class=\"\" data-line=\"\">list<\/code><\/td><\/tr><tr><td>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0446\u0430\u0445<\/td><td><code class=\"\" data-line=\"\">deque<\/code><\/td><td><code class=\"\" data-line=\"\">appendleft<\/code>\/<code class=\"\" data-line=\"\">popleft<\/code> \u0437\u0430 O(1)<\/td><\/tr><tr><td>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043f\u0430\u043c\u044f\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430<\/td><td><code class=\"\" data-line=\"\">dataclass<\/code> + <code class=\"\" data-line=\"\">__slots__<\/code><\/td><td>\u0411\u0435\u0437 <code class=\"\" data-line=\"\">__dict__<\/code>, \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<\/td><\/tr><tr><td>\u041f\u043e\u0434\u0441\u0447\u0451\u0442 \u0447\u0430\u0441\u0442\u043e\u0442<\/td><td><code class=\"\" data-line=\"\">Counter<\/code><\/td><td>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443<\/td><\/tr><tr><td>\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/td><td><code class=\"\" data-line=\"\">UserList<\/code> \/ <code class=\"\" data-line=\"\">UserDict<\/code><\/td><td>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-37\"  class=\"wp-block-heading\">\ud83d\udcca \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0422\u0438\u043f<\/th><th>\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d<\/th><th>\u0418\u0437\u043c\u0435\u043d\u044f\u0435\u043c<\/th><th>\u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b<\/th><th>\u0414\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443<\/th><th>\u0414\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b<\/th><\/tr><\/thead><tbody><tr><td><code class=\"\" data-line=\"\">list<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">tuple<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">dict<\/code><\/td><td>\u2705 \u0414\u0430*<\/td><td>\u2705 \u0414\u0430<\/td><td>\u041a\u043b\u044e\u0447\u0438 \u2014 \u0434\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u0434\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">set<\/code><\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">frozenset<\/code><\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">SimpleNamespace<\/code><\/td><td>\u2705 \u0414\u0430 (\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b)<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442 (\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f)<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">namedtuple<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">deque<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">Counter<\/code><\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442 (\u043d\u043e \u0435\u0441\u0442\u044c \u043a\u043b\u044e\u0447\u0438)<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">defaultdict<\/code><\/td><td>\u2705 \u0414\u0430*<\/td><td>\u2705 \u0414\u0430<\/td><td>\u041a\u043b\u044e\u0447\u0438 \u2014 \u0434\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u0434\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">dataclass<\/code><\/td><td>\u2705 \u0414\u0430 (\u043f\u043e\u043b\u044f)<\/td><td>\u2705 \u0414\u0430 (\u0435\u0441\u043b\u0438 \u043d\u0435 frozen)<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">UserList<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">UserDict<\/code><\/td><td>\u2705 \u0414\u0430*<\/td><td>\u2705 \u0414\u0430<\/td><td>\u041a\u043b\u044e\u0447\u0438 \u2014 \u0434\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u0434\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">str<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">bytes<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">bytearray<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">range<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">array.array<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430<\/td><td>\u2705 \u0414\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">ChainMap<\/code><\/td><td>\u2705 \u0414\u0430*<\/td><td>\u2705 \u0414\u0430<\/td><td>\u041a\u043b\u044e\u0447\u0438 \u2014 \u0434\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2014 \u0434\u0430<\/td><\/tr><tr><td><code class=\"\" data-line=\"\">Enum<\/code><\/td><td>\u2705 \u0414\u0430<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u2705 \u0414\u0430 (\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b)<\/td><td>\u274c \u041d\u0435\u0442<\/td><td>\u274c \u041d\u0435\u0442<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>\u2014 \u0441 Python 3.7+ \u0441\u043b\u043e\u0432\u0430\u0440\u0438, <code class=\"\" data-line=\"\">defaultdict<\/code>, <code class=\"\" data-line=\"\">UserDict<\/code>, <code class=\"\" data-line=\"\">ChainMap<\/code> \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0441\u0442\u0430\u0432\u043a\u0438.<\/li>\n<\/ul>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-38\"  class=\"wp-block-heading\">\ud83d\udca1 \u041a\u043e\u0433\u0434\u0430 \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0417\u0430\u0434\u0430\u0447\u0430<\/th><th>\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f<\/th><\/tr><\/thead><tbody><tr><td>\u0425\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438<\/td><td><code class=\"\" data-line=\"\">list<\/code> \/ <code class=\"\" data-line=\"\">deque<\/code> \/ <code class=\"\" data-line=\"\">UserList<\/code> \/ <code class=\"\" data-line=\"\">bytearray<\/code><\/td><\/tr><tr><td>\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/td><td><code class=\"\" data-line=\"\">tuple<\/code> \/ <code class=\"\" data-line=\"\">namedtuple<\/code> \/ <code class=\"\" data-line=\"\">frozenset<\/code> \/ <code class=\"\" data-line=\"\">str<\/code> \/ <code class=\"\" data-line=\"\">bytes<\/code><\/td><\/tr><tr><td>\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432<\/td><td><code class=\"\" data-line=\"\">set<\/code> \/ <code class=\"\" data-line=\"\">frozenset<\/code><\/td><\/tr><tr><td>\u0425\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/td><td><code class=\"\" data-line=\"\">dict<\/code> \/ <code class=\"\" data-line=\"\">dataclass<\/code> \/ <code class=\"\" data-line=\"\">SimpleNamespace<\/code> \/ <code class=\"\" data-line=\"\">UserDict<\/code> \/ <code class=\"\" data-line=\"\">TypedDict<\/code><\/td><\/tr><tr><td>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u0430\u043a \u043a\u043b\u044e\u0447<\/td><td><code class=\"\" data-line=\"\">frozenset<\/code><\/td><\/tr><tr><td>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0447\u043a\u0443<\/td><td><code class=\"\" data-line=\"\">SimpleNamespace<\/code> \/ <code class=\"\" data-line=\"\">dataclass<\/code><\/td><\/tr><tr><td>\u041f\u043e\u0434\u0441\u0447\u0451\u0442 \u0447\u0430\u0441\u0442\u043e\u0442<\/td><td><code class=\"\" data-line=\"\">Counter<\/code><\/td><\/tr><tr><td>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/td><td><code class=\"\" data-line=\"\">defaultdict<\/code><\/td><\/tr><tr><td>\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0446\u0430\u0445<\/td><td><code class=\"\" data-line=\"\">deque<\/code><\/td><\/tr><tr><td>\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430<\/td><td><code class=\"\" data-line=\"\">UserList<\/code><\/td><\/tr><tr><td>\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f<\/td><td><code class=\"\" data-line=\"\">UserDict<\/code><\/td><\/tr><tr><td>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438<\/td><td><code class=\"\" data-line=\"\">bytes<\/code> \/ <code class=\"\" data-line=\"\">bytearray<\/code> \/ <code class=\"\" data-line=\"\">array.array<\/code><\/td><\/tr><tr><td>\u041a\u043e\u043d\u0444\u0438\u0433\u0438 \u0441 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0435\u0439<\/td><td><code class=\"\" data-line=\"\">ChainMap<\/code><\/td><\/tr><tr><td>\u0418\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b<\/td><td><code class=\"\" data-line=\"\">Enum<\/code><\/td><\/tr><tr><td>\u041b\u0435\u043d\u0438\u0432\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/td><td><code class=\"\" data-line=\"\">range<\/code> \/ \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043b\u0435\u0433\u043a\u043e \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041e\u043d\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"left","neve_meta_author_avatar":"on","neve_post_elements_order":"[\"content\",\"tags\",\"comments\"]","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[610],"tags":[885,886,871,880,882,881,879,874,887,876,872,878,875,877,873,883],"class_list":["post-3176","post","type-post","status-publish","format-standard","hentry","category-python-basics","tag-tag-python-array-array","tag-tag-python-chainmap","tag-tag-python-collections","tag-python-counter","tag-tag-python-dataclass","tag-tag-python-defaultdict","tag-python-deque","tag-tag-python-dict","tag-tag-python-enum","tag-tag-python-frozaenset","tag-tag-python-list","tag-python-namedtuple","tag-tag-python-set","tag-tag-simplenamespace","tag-tag-python-typle","tag-tag-python-userlist"],"acf":[],"_links":{"self":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts\/3176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/comments?post=3176"}],"version-history":[{"count":0,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/posts\/3176\/revisions"}],"wp:attachment":[{"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/media?parent=3176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/categories?post=3176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ru.davidka.net\/ru\/wp-json\/wp\/v2\/tags?post=3176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}