在python中创建字符串数组有错吗?

时间:2014-01-27 15:23:04

标签: python arrays string

所有

我想创建一个字符串数组,然后将它传递给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索引。有什么帮助吗?

3 个答案:

答案 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']