如何在for循环中为同一个变量分配并保留多个值?

问题描述

我想知道如何在不丢失分配的第一个值的情况下为一个变量分配多个值。 我有以下示例,其中为某个销售产品(在一列中)分配了包装名称值(在另一列中):

销售产品=包裹名称

ABC =包裹1

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。

解决方法

分配通常会覆盖旧值。根据我的理解,您可能想使用onto[i[0]].has_package.append(onto[i[1]])