From 09078e3a6e7fa27fd6ae271626ab875cf202e2c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2015=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=96-202?= Date: Fri, 26 Sep 2025 10:07:33 +0300 Subject: [PATCH] report.md --- TEMA2/report.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/TEMA2/report.md b/TEMA2/report.md index ce8d107..3afb5d0 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -170,7 +170,7 @@ False >>> ss1[17:3:-2] 'омсаот ' ``` -Так как индекс 17 и -4 (4-й символ с конца строки) - одно и то же при 21-ом элементе, то получится то же самое, что и выше: + ```py >>> ss1[-4:3:-2] 'омсаот ' @@ -192,7 +192,7 @@ TypeError: 'str' object does not support item assignment Меня зовут Грудинин Е.К. ``` -Создадим еще несколько объектов разных типов данных + ```py >>> a = 10; a; type(a) 10 @@ -230,8 +230,7 @@ True 10 >>> stup[-8::2] [0, 1, 1, 1] -``` -В последнем случае получилось, что, в результате среза исходного списка stup длиной в 9 элементов, мы получили список длиной в 4 элемента. Это можно объянсить так: так как в срезе мы указали, что выборка элементов (срез) будет происходить от 8-го элемента с конца (т.к. знак минус перед 8) и до посленего элемента. Так как шаг был указан равным 2, то получаем: 8 / 2 = 4 элемента войдут в новый список. +``` ```py >>> spis1[1]='Список'; spis1 @@ -252,7 +251,7 @@ True [111, 'Список', (5-9j), 'New item', 'New item'] [111, 'Список', (5-9j), 'New item'] ``` -Можно заметить, что последняя операция не сохраняет изменения списка spis1, а только отображает измененый список. +Что не сохраняет изменения списка spis1, а только отображает измененый список. ```py >>> spis1.append(ss1b); spis1 [111, 'Список', (5-9j), 'New item', 'Меня зовут \n Ivanov I.I.'] @@ -289,7 +288,7 @@ True [[100, 2], [3, 4], 5, 6, 7] [[100, 2], [3, 4], 5, 200, 7] ``` -Можно заметить, что при изменении в cp (копии) части вложенного списка, изменения затронули и исходный список spis2. А вот изменение простого объекта - целочисленной переменной, имеющей значение 6, на значение 200, - не повлекло за собой изменения в исходном списке. +Можно заметить, что при изменении в cp (копии) части вложенного списка, изменения затронули и исходный список spis2. ```py >>> a = [1,2,2,3,3,3,4,4,4,4] @@ -311,7 +310,7 @@ True >>> spis1 [111, 78, 'Второй элемент', (5-9j), 'New item', 'Меня зовут \n Ivanov I.I.'] ``` -Заметим, что при изменении spis2[0][1] = 78, касающегося на первый взгляд только списка spis2, изменился и список spis1, который является составной чатсью (а имеено первым элементом) списка spis2. Это происходит потому, что имя списка - это переменная, указывающая на адрес списка (точнее: на адрес его первого элемента). Поэтому справедливо сказать, что записью spis2=[spis1,[4,5,6,7]] мы в качестве первого элемента списка spis2 передаем не просто какую-то копию списка spis1, а передаем адрес его (spis1) первого элемента. Такая передача называется передача по сслыке. Именно поэтому изменение первого элемента списка spis2 влечет за собой изменение не только в самом spis2, но и в его первом элементе - списке spis1. +Заметим, что при изменении spis2[0][1] = 78, касающегося на первый взгляд только списка spis2, изменился и список spis1, который является составной чатсью списка spis2. ```py >>> ls = [1,'два',True,[4,4,4,4]]; ls [1, 'два', True, [4, 4, 4, 4]] @@ -372,7 +371,6 @@ TypeError: 'tuple' object does not support item assignment >>> dict(zip(values,keys)) {'один': 11, 'два': 22, 'три': 33, 'четыре': 44, 'пять': 55} ``` -Предпоследняя операция выводит словарь, число элеиментов которого равно пяти. Количество элементов имеено пять, а не семь, потому, что функция zip объединяет два объекта (в нашем случае кортеж с ключами и массив со значениями). Так как кортеж содержит семь элементов, а массив - пять, то функция zip сделает из двух этих объектов кортеж из пяти элементов. Никакого "зацикливания" не будет. ### 8.4 Множества. Операции с множествами ```py @@ -387,7 +385,7 @@ True >>> mnoz1.remove('линия связи'); mnoz1 {'микропроцессор', 'датчик', 'реле', 'двигатель'} ``` -Заметим, что логическое значение True, при создании сножества, воспринимается как 1. Поэтому ниже можно заметить, что значение True не вошло в множество, так как есть 1. +Заметим, что значение True = 1 не вошло в множество, так как уже есть 1. ```py >>> mnoz2 = {'строка',1,True,(5,6),1,'строка', False};mnoz2 {False, 1, (5, 6), 'строка'}