所有
我想创建一个字符串数组,然后将它传递给python中的一个类,如下所示:
from plottert import plotter
at[0]='./Re100/17/0.001/R/Vx-H'
at[1]='./Re100/33/0.001/R/Vx-H'
at[2]='./Re100/65/0.001/R/Vx-H'
b[0]='./U-0.001-H'
plotter (at,b)
但我收到错误显示name 'at' is not defined
。
我知道at.append()
会起作用。但是,我真正想要的是将值添加到我想要的数组的SPECIFIC索引。有什么帮助吗?
答案 0 :(得分:0)
如果你想要
,你可以简单地用空字符串填充它at = [''] * n #n = length of list
at[0]='./Re100/17/0.001/R/Vx-H'
at[1]=...
然而,正如其他人所提到的那样,您从未首先初始化您的列表。
答案 1 :(得分:0)
首先,创建列表(没有非基本类型arrays):
at = [''] * n # n = size of at
b = [''] * m # m = size of b
然后执行你的代码。
您无法使用尚未定义的列表。
答案 2 :(得分:0)
如果要在不必知道数据结构的最终大小的情况下分配索引,请改用字典:
at = {}
at[0] = 'zero'
at[4] = 'four' # look, it's sparse
正如您所看到的,这也具有您可以按任何顺序分配的优势(过度追加)。
如果您想稍后将其转换为数组,可以执行以下操作:
at_arr = [at[i] if i in at else None
for i in range(max(at.keys())+1)]
# at_arr now holds the array ['zero', None, None, None, 'four']