#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]])
.