Python 如何声明动态(数组数量)

Python how to declare dynamic ( number of arrays )

我想将整数作为输入并声明许多以 array_names 为起始形式的数组,从 0 到该整数 例如:

if I give input as 3 , then in my code there should be 
arr1 = [] ,
arr2 = [] ,
arr3 = []

我试过了,但它给出了语法错误

arr = []
no_of_arrays = int(input())
for i in range(no_of_arrays):
       arr{i} = [] 

它的给予

SyntaxError: invalid syntax

没有动态声明原始变量的好方法。
您可以创建字典 d={'Array1':[]....} 或尝试查看 exec 函数 - 出于多种原因不推荐这样做:

for i in range(int(input())):
    exec('myArr{}=[]'.format(i))

虽然技术上您可以在 python 中使用 exec 执行此操作,但不推荐这样做。

相反,您应该创建一个列表列表:

arrays = [[] for _ in range(int(input())]

或列表字典:

arrays = {f'arr{i}': [] for i in range(int(input())}

您可以通过更新 globals or locals 字典来创建变量。

例如:

l = locals()
no_of_arrays = int(input())
for i in range(no_of_arrays):
  l[f"arr{i}"] = []

print(arr0)
print(arr1)