Также при каждом запуске программы будут вставляться строки
Если вы хотите сохранить хранилище в файле, как вы это делаете, то простое решение для предотвращенияповторяющиеся записи при появлении следующего выполнения будут просто усекать файл первым.Вы можете сделать это, открыв его с флагом w
:
f = open('filename', 'w')
# ...
f.close()
Однако это звучит так, как будто вы просто хотите сохранить некоторые данные , пока программа выполняется, т.е. выхотите хранить данные, не делая их постоянными.Если это так, то мне интересно, почему вы на самом деле храните содержимое в файле.
Более очевидный способ, который также является pythonic (хотя и не является особенным для Python), состоит в том, чтобы сохранить его всловарь во время выполнения программы.Словарь является изменяемым, поэтому вы можете постоянно изменять его содержимое: вы можете добавлять новые записи или даже обновлять записи, если впоследствии вы получите больше информации о них.
Я знал об этом из хранилищав словаре, но иногда у меня нет значений для значений [143] [1], то есть строка 'None' хранится на своем месте
Это совсем не проблема.Вы можете легко сохранить запись с 143
в качестве ключа и None
в качестве его значения или даже массивом None
значений:
>>> values[143] = [ None, None ]
Таким образом, словарь по-прежнему будет помнить, что вывведите ключ, поэтому проверка, находится ли ключ в словаре, вернет true:
>>> 143 in values
True
Есть ли другой способ, кроме словарей в python для выполнения того же, я знал о словарях... Я просто ищу какой-то другой способ.
Нет, обычно есть только один способ сделать что-то прямо в Python, как также сказал Zen of Python : «Должен быть один - и желательно только один - очевидный способ сделать это».
Таким образом, нет, вероятно, нет подходящегоспособ использования словарей без словарей.Но опять же, почему вы ищете какой-то другой путь?Для меня это не звучит, как будто у вас есть веская причина для этого, и если у вас есть, вы должны обязательно объяснить, почему некоторые способы нежелательны для вас.