Numpy:如何在 numpy 中选择项目并为其赋值

2022-01-24 00:00:00 python numpy list for-loop range

问题描述

我在按列表分配新值时遇到问题.

I have got a problem in assigning new value by list.

我想通过 numpy 数组的索引更改 s numpy 中的 12 个项目值,我希望我选择的每个索引都是不同的.所以我制作了一个列表 random.sample(range(0,len(s),12) 来选择 12 个不同的索引.通过这个索引更改 numpy 数组 s() 中的一些值但是,我收到错误:SyntaxError: can't assign to function call

I want to change 12 items values in s numpy by numpy array's index ,and i hope every index i choose is different. so i made a list random.sample(range(0,len(s),12) to select 12 different index.And through this index change some of values in numpy array s() However, I'm getting the error: SyntaxError: can't assign to function call

    import numpy as np
    import random
    N = 20
    s = np.zeros([N])
    alist = random.sample(range(0,20),12)
    alist
    for i in alist:
       s(i)=10


解决方案

我不完全确定你想在这里实现什么,但 s(i) 是你的问题:圆括号暗示一个函数调用,但 s 是一个 numpy 数组,所以这不起作用.我认为您正在尝试为列表编制索引,在这种情况下您将使用 s[i].

I'm not totally sure what you're trying to achieve here, but s(i) is your problem: round brackets imply a function call, but s is a numpy array, so this won't work . I think you're trying to index the list, in which case you'd use s[i].

相关文章