【问题标题】:How can I assign and keep more than one value to the same variable in a for loop?如何在 for 循环中为同一个变量分配和保留多个值?
【发布时间】:2020-08-18 13:08:28
【问题描述】:

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

销售产品 = 包名

ABC = 包 1

ABC = 包 2

如您所见,销售产品“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。

【问题讨论】:

  • 请添加到您的示例代码以使其可运行,即初始化所有变量。

标签: python for-loop properties iteration owlready


【解决方案1】:

分配通常会覆盖旧值。形成我理解的你可能想要使用的onto[i[0]].has_package.append(onto[i[1]])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2015-01-05
    • 1970-01-01
    • 2019-06-04
    相关资源
    最近更新 更多