追加将最后一个附加值覆盖每个元素(Python)

aim94

我想准备一个列表,其中包含所有可能在蛮力搜索中使用的参数组合。参数组合应如下所示:

[0,0,1]
[0,0.2,0.8]
[0.2,0,0.8]
...
[0.4,0.4,0.2]
...
[1,0,0]

生成这些列表的代码运行良好-在每次迭代中打印weights_temp都会返回正确的结果。但是附加有一些问题。当我打印weights时,我得到的就是这个(最后的weights_temp值而不是其他元素):

[1.0,0.0,0.0]
[1.0,0.0,0.0]
...
[1.0,0.0,0.0]
...
[1.0,0.0,0.0]

这是我的代码:

step = 0.2

weights_temp = [0, 0, 1]
weights = [weights_temp]

i = 1

while weights_temp != [1, 0, 0]:
    # decrease gamma
    weights_temp[2] = 1 - i * step

    for j in xrange(0, i + 1):
        # increase alpha, decrease beta
        weights_temp[0] = j * step
        weights_temp[1] = abs(1 - weights_temp[2]) - j * step

        weights.append(weights_temp)

        print weights_temp

    i += 1

有人知道如何解决此问题吗?

先感谢您

纳尔

继续我的评论,而不是添加引用,而是每次使用列表理解添加一个新列表。

weights.append([item for item in weights_temp])

例子:

>>> temp = [1,2,3]
>>> holder = [temp]
>>> holder
[[1, 2, 3]]
>>> temp[0] += 1
>>> holder
[[2, 2, 3]]
>>> holder.append([item for item in temp])
>>> holder
[[2, 2, 3], [2, 2, 3]]
>>> temp[0] +=1
>>> holder
[[3, 2, 3], [2, 2, 3]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

发布HttpPostedFileBase对象的集合,每个对象都有一个附加值

将功能附加到动态内容的每个最后一个元素

创建一个空的dask数据框并向其附加值

当我附加一个值时,整个数组正在更改为附加值

使用Python中每个列表的最后一个元素

我数组中的每个元素都被最后一个元素推入覆盖

在json中的元素下附加值

在除bash数组的最后一个元素之外的每个元素上附加一个字符

数组值仅返回第一个字符和附加值

如何创建一个既可以包含UInt值又可以包含附加值00的类型?

根据另一个数据框检查数据框中的值,并附加值(如果存在)

Python追加列表重复最后一个元素?

打印文件的最后一行,并使用awk附加值

Python将列表中的最后一个元素分组

错误的附加值

通过单击最后一个元素在最后一个元素之后附加

将一个列表的每个命名元素附加到另一个列表的相同命名元素

如何使用 jquery 将类添加或附加到最后一个 li 元素

为什么它打印出一个空数组而不是在 viewDidLoad() 中第一次附加值的数组?

Golang,仅附加最后一个元素

附加到Python中的列表:每次都添加最后一个元素吗?

将张量附加到另一个张量的每个元素

如何在python中使用相同的键组合(附加值)两个嵌套字典?

使用python将多个附加值转换为panda数据框

如何在不使用javascript更改第一个对象的情况下在现有对象中附加值?

像在python中一样在for循环R中附加值

如何为 R 中每个类别的最后一个值添加值?

追加值,以一个Python成员变量

在每个班级中附加一个元素