Как я могу присвоить и сохранить более одного значения одной и той же переменной в цикле for?

#python #for-loop #properties #iteration #owlready

#python #for-цикл #свойства #итерация #owlready

Вопрос:

Интересно, как я могу присвоить переменной более одного значения, не теряя первое присвоенное значение. У меня есть следующий пример, где определенному товару для продажи (в одном столбце) присваивается значение имени пакета (в другом столбце) :

Продаваемый продукт = название пакета

ABC = Package1

ABC = Package2

Как вы можете видеть, товар для продажи «ABC» имеет два разных значения для имени пакета: «Package1» и «Package2».

Я присваиваю свойства объекта онтологии с помощью OWLready2, и чтобы сделать это динамически, я использую цикл for, подобный этому:

             for i in input_list[1:]:
                onto[i[0]].has_package = onto[i[1]]
  

С помощью этого я могу получить: ABC.has_package = Package1

Проблема в том, что когда я перехожу к следующей строке, появляется новое значение имени пакета для того же продукта ABC. Поэтому в конце моя онтология учитывает только это последнее значение: ABC.has_package = Package2

Мой вопрос в том, есть ли в «цикле for» способ сохранить все возможные значения для моего продукта «ABC». В конце я хотел бы, чтобы как Package1, так и Package2 были присвоены и сохранены.

Комментарии:

1. Пожалуйста, не могли бы вы добавить в свой пример кода, чтобы сделать его работоспособным, т. Е. инициализировать все переменные.

Ответ №1:

Назначения обычно перезаписывают старое значение. Сформируйте то, что, как я понимаю, вы, вероятно, хотите использовать onto[i[0]].has_package.append(onto[i[1]]) .