【问题标题】:How to change one array element by index, without changing the same element in a duplicated array? (python, numpy) [duplicate]如何按索引更改一个数组元素,而不更改重复数组中的相同元素? (python,numpy)[重复]
【发布时间】:2023-01-07 02:20:34
【问题描述】:

这是我遇到问题的代码:

R = np.ones(16) * -100
for i in np.arange(10):
    print('Range of 100: ', i , ' Repetitions finished')
    R_save = R
    print(R_save)
    R[0] = 3
    print(R)
    print(R_save)
    comparison = R == R_save
    if comparison.all():
        print('finished Range of 100 potences')
        print(R)
        print(R_save)
        break

这个想法是在第一次重复中更改 R 数组的第一个条目,同时保持 R_save 数组相同。在第二次重复中,if 条件应为 TRUE 并停止循环。 但是,R_save 条目随 R 条目一起更改。如果有人可以帮助我理解如何解决这个问题或更好地理解它,我将不胜感激 :) 太感谢了! 亚历克斯

【问题讨论】:

  • R_save = R.copy()

标签: python numpy clone


【解决方案1】:

RR_save 是指向同一个数组的两个变量,所以你不能“只改变一个” - 那里只有一个数组,有两个变量引用它。

相反,您可以在创建 R_save 时复制 R,因此确实存在两个具有(最初)相同元素的不同数组:

R_save = np.copy(R)

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2017-12-01
    • 2017-12-10
    • 2018-04-06
    • 2019-05-27
    • 2020-10-04
    相关资源
    最近更新 更多