python. как сохранить несколько значений в список через input
Вы можете сохранять переменную в файл и загружать ее из него с помощью встроенного модуля pickle :
import pickle import os storage_filename = "storage.pickle" list = ['спать', 'Машина', 'Мотоцикл', 'Еще что-нибудь', 'тд'] if not os.path.exists(storage_filename): # Если файла не существует with open(storage_filename, "wb") as f: # То создаем его pickle.dump(list, f) # Сохрняя в него наш список else: # Если же существует with open(storage_filename, "rb") as f: list = pickle.load(f) # То загружаем из него список num = input('Введите слово:') list.append(num) for i in list: print(i) with open(storage_filename, "wb") as f: pickle.dump(list, f) # Сохраняем измененный список в файл
Метод append
Метод append позволяет вставить в конец какого-либо элемента другой элемент. Параметром метод принимает элемент, как правило созданный через createElement , либо строку. Можно добавить сразу несколько элементов или строк, перечислив их через запятую.
Синтаксис
родитель.append(элемент или строка);
Пример
Давайте создадим абзац, установим ему текст и поместим на страницу в конец блока #parent :
1
2
3
let parent = document.querySelector(‘#parent’); let p = document.createElement(‘p’); p.textContent = ‘!’; parent.append(p);
Результат выполнения кода:
Пример
Поместим сразу несколько абзацев в конец блока #parent :
1
2
3
let parent = document.querySelector(‘#parent’); let p1 = document.createElement(‘p’); p1.textContent = ‘a’; let p2 = document.createElement(‘p’); p2.textContent = ‘b’; parent.append(p1, p2);
Результат выполнения кода:
Пример
Давайте в качестве параметра метода используем строку:
1
2
3
let parent = document.querySelector(‘#parent’); parent.append(‘!’);
Результат выполнения кода:
Пример
Дан ul . Давайте разместим в нем 9 тегов li , при этом их текстом сделаем порядковые номера:
let parent = document.querySelector(‘#parent’); for (let i = 1; i
Результат выполнения кода:
Пример
Давайте заполним таблицу tr-ками и td-шками:
Результат выполнения кода:
| 1 | 2 | 3 |
| 1 | 2 | 3 |
| 1 | 2 | 3 |
Смотрите также
- метод prepend ,
который вставляет элементы в начало - метод appendChild ,
который вставляет элементы в конец - метод insertBefore ,
который вставляет элемент в перед элементом - метод insertAdjacentElement ,
который вставляет элемент в заданное место - метод insertAdjacentHTML ,
который вставляет теги в заданное место
Создание списков и добавление элементов — Python: Списки
Списки встроены в Python, и поэтому язык предоставляет специальный синтаксис для создания списков — списковые литералы. Например, [1, 2] — литерал списка.
Кортежи, описанные ранее, тоже встроены в язык и создаются с помощью своих собственных литералов. Выражение в круглых скобках («foo», 42) — литерал кортежа.
Создадим несколько списков, в том числе и один пустой:
numbers = [1, 2, 3] strings = ["foo", "bar"] booleans = [True, False] empty_list = []
Пока все очень похоже на кортежи, только скобки квадратные вместо круглых.
Но на прошлом уроке мы уже отмечали, что списки — изменяемые, то есть они могут изменяться со временем. Научимся изменять списки путем добавления элементов в конец:
l = [1, 2, 3] l.append(4) l.append(5) print(l) # => [1, 2, 3, 4, 5] l.extend([6, 7, 8]) print(l) # => [1, 2, 3, 4, 5, 6, 7, 8]
Списки — объекты
В примере выше демонстрируется новый вид синтаксиса — вызов метода объекта.
Объекты — это такие сущности, которые могут хранить в себе некие данные, в том числе и другие объекты. А еще объекты сами знают, как с хранимыми данными обращаться — как говорят, обладают поведением.
Поведение объекта заключается в предоставлении методов — особого вида функций, которые всегда каким-либо образом относятся к объекту-владельцу. Вызов метода похож на вызов функции, только выглядит как объект.метод(. ) , то есть мы всегда видим, метод какого объекта вызывается.
Об объектах, методах и элементах объектно-ориентированного программирования (ООП) мы поговорим в отдельном курсе. Пока же достаточно знать, что методы похожи на функции, они могут модифицировать объект или же просто возвращать какую-то информацию об объекте.
Методы append и extend
Итак, в коде выше список l — объект списка, а append и extend — методы объекта списка:
- append добавляет один элемент в свой список
- extend добавляет все элементы из списка-аргумента в свой список
Оба метода добавляют элементы в конец списка. И оба метода возвращают None , то есть у этих методов-функций нет полезного результата — вся польза от вызова этих методов заключается в изменении связанного объекта.
Новички часто совершают такую ошибку:
l = [1] l = l.append(2) print(l) # None # а где список?
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях:
Метод Append (ADO)
Добавляет объект в коллекцию. Если коллекция имеет значение Fields, перед его добавлением в коллекцию можно создать новый объект Field .
Синтаксис
коллекция. Добавить объект
Параметры
| Параметр | Описание |
|---|---|
| Коллекции | Объект коллекции. |
| fields | Коллекция Fields . |
| object | Переменная объекта, представляющая добавляемый объект. |
| Название | Строковое значение, содержащее имя нового объекта Field и не должно совпадать с именем любого другого объекта в полях. |
| Тип | Значение DataTypeEnum , значение по умолчанию — adEmpty, указывающее тип данных нового поля. Следующие типы данных не поддерживаются ADO и не должны использоваться при добавлении новых полей в набор записей: adIDispatch, adIUnknown, adVariant. |
| DefinedSize | Необязательный параметр. Значение Типа Long, представляющее определенный размер (в символах или байтах) нового поля. Значение по умолчанию для этого параметра является производным от Типа. Поля с definedSize больше 255 байт и обрабатываются как столбцы переменной длины. (Значение по умолчанию DefinedSize не указано.) |
| Attrib | Необязательный параметр. Значение FieldAttributeEnum , значение по умолчанию которого — adFldDefault, указывающее атрибуты для нового поля. Если это значение не указано, поле будет содержать атрибуты, производные от Type. |
| FieldValue | Необязательный параметр. Значение Variant, представляющее значение для нового поля. Если значение не указано, к полю добавляется значение NULL. |
Замечания
Коллекция Parameters
Перед добавлением его в коллекцию Parameters необходимо задать свойство Type объекта Parameter. При выборе типа данных переменной длины необходимо также задать для свойства Size значение больше нуля.
Самостоятельное описание параметров сводит к минимуму вызовы к поставщику и, следовательно, повышает производительность при использовании хранимых процедур или параметризованных запросов. Однако необходимо знать свойства параметров, связанных с хранимой процедурой или параметризованным запросом, который требуется вызвать.
Используйте метод CreateParameter для создания объектов Parameter с соответствующими параметрами свойств и используйте метод Append , чтобы добавить их в коллекцию Parameters . Это позволяет задавать и возвращать значения параметров без вызова поставщика для сведений о параметрах. При записи в поставщик, который не предоставляет сведения о параметрах, необходимо использовать этот метод для заполнения коллекции Parameters вручную, чтобы использовать параметры.
Коллекция Fields
Параметр FieldValue действителен только при добавлении объекта Field в объект Record , а не в объект Recordset . С помощью объекта Record можно одновременно добавлять поля и предоставлять значения. При использовании объекта Recordset необходимо создать поля, пока набор записей закрыт, а затем открыть набор записей и присвоить значения полям.
Для новых объектов Field , добавленных в коллекцию Fields объекта Record , свойство Value необходимо задать перед указанием других свойств Field . Во-первых, необходимо назначить определенное значение для свойства Value и обновить в коллекции Fields . Затем можно получить доступ к другим свойствам, таким как Тип или Атрибуты .
Объекты field следующих типов данных (DataTypeEnum) не могут быть добавлены в коллекцию Fields и вызовут ошибку: adArray, adChapter, adEmpty, adPropVariant и adUserDefined. Кроме того, ADO не поддерживает следующие типы данных: adIDispatch, adIUnknown и adIVariant. При добавлении этих типов ошибок не возникнет, но использование может привести к непредсказуемым результатам, включая утечку памяти.
Recordset
Если не задать свойство CursorLocation перед вызовом метода Append, при вызове метода Open объекта RecordsetcursorLocation будет автоматически задано значение adUseClient (значение CursorLocationEnum).
Ошибка во время выполнения возникнет, если метод Append вызывается в коллекции Fields открытого набора записей или в наборе записей , где задано свойство ActiveConnection . Поля можно добавлять только в набор записей , который не открыт и еще не подключен к источнику данных. Обычно это происходит, когда объект Recordset создается с помощью метода CreateRecordset или назначается переменной объекта.
Record
Ошибка во время выполнения не возникнет, если метод Append вызывается в коллекции Fields открытой записи. Новое поле будет добавлено в коллекцию Fields объекта Record. Если запись является производным от набора записей, то новое поле не будет отображаться в коллекции Fields объекта Recordset.
Несуществующее поле можно создать и добавить в коллекцию Fields , назначив объекту поля значение, как если бы оно уже существовало в коллекции. Назначение активирует автоматическое создание и добавление объекта Field , после чего назначение будет завершено.
После добавления поля в коллекцию Fields объекта Record вызовите метод Update коллекции Fields, чтобы сохранить изменение.