python - 如何在python中用字符串初始化一系列列表?

标签 python

如何遍历一个整数范围,将一个字符串(例如“array”)与循环的迭代连接起来,并用生成的字符串初始化一个列表?下面的单行显示了我想做什么,在那里我得到了一个“无法分配给函数调用”的错误。

for i in range(int(nmat)): eval('array'+str(i)) = []

同时,在代码的更下方,接受以下代码(前提是我注释掉了导致它爆炸的前面代码)

eval('array'+str(ct1)).append(array[1:9])

但是它告诉我名称“array0”未定义(因为我不知道如何以这种方式初始化一系列列表)。非常感谢您的帮助,谢谢。

最佳答案

你不应该那样做。

与其使用多个变量数组i,不如只使用一个:array,类型为列表。例如,如果列表的每个元素都应该是一个空列表:

array = [[] for i in range(int(nmat))]

然后您可以使用 array[0] 访问第一个元素,使用 array[1] 访问第二个元素,以及 array 中的元素数量code>(在本例中为 int(nmat))和 len(array)

关于python - 如何在python中用字符串初始化一系列列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6378596/

相关文章:

python 3.6 : Signature of {method} incompatible with super type {Class}

python - 如何从 Tk Text() 对象中删除所有标签

python - 如何对一列进行分组,然后将两列划分在一起?

python - 查找违规比例最高的群体

python - 基于 Websockets 的存储后端

python - 空数组的 Numpy 数组 ndmin 行为

python - 如何将 3D 物体表面展平为 2D 阵列?

python - for in 循环内的变量赋值

python - 字节类型的 UnicodeDecodeError

python - :synopsis: not working in Sphinx automodule