Python 我可以在运行时初始化数组吗?

Python 我可以在运行时初始化数组吗?,python,Python,我有一个长度未知的数组a=[a1,a2,…an]由用户在主函数中传递,即a=[3,3,4,1]或a=[1,1,13,4,5] 在我的程序中,由于我不知道数组a的长度,如何用这些变量创建数组 例如,假设用户传递了a=[3,3,4,1],我需要创建4个数组,a1包含3个元素,a2包含3个元素,a3包含4个元素,a4包含1个元素 这可能吗 您可以使用对数组(列表)的所有元素进行迭代,以。。。在中: for var in a: # do something with var 列表不需要预先分配

我有一个长度未知的数组
a=[a1,a2,…an]
由用户在主函数中传递,即
a=[3,3,4,1]
a=[1,1,13,4,5]

在我的程序中,由于我不知道数组
a
的长度,如何用这些变量创建数组

例如,假设用户传递了
a=[3,3,4,1]
,我需要创建4个数组,
a1
包含3个元素,
a2
包含3个元素,
a3
包含4个元素,
a4
包含1个元素


这可能吗

您可以使用
对数组(列表)的所有元素进行迭代,以。。。在
中:

for var in a:
    # do something with var
列表不需要预先分配(添加内容时,列表将动态调整大小),但如果确实要创建特定长度的列表,一种简单的方法是乘法运算符:

a1 = [0] * 3  # creates [0, 0, 0]
请注意,如果您有一个动态数量的值(无论这些值是列表还是其他),您可能不需要静态变量名,如
a1
a2
,等等。相反,您可能需要列表列表:

arrays = []  # empty list
for var in a:
    arrays.append([0] * var)  # adds a list of length var to arrays
如果您从
a=[3,3,4,1]
开始,那么
数组现在将是:

[[0, 0, 0], [0, 0, 0], [0, 0, 0, 0], [0]]

您可以使用
对数组(列表)的所有元素进行迭代,以便。。。在
中:

for var in a:
    # do something with var
列表不需要预先分配(添加内容时,列表将动态调整大小),但如果确实要创建特定长度的列表,一种简单的方法是乘法运算符:

a1 = [0] * 3  # creates [0, 0, 0]
请注意,如果您有一个动态数量的值(无论这些值是列表还是其他),您可能不需要静态变量名,如
a1
a2
,等等。相反,您可能需要列表列表:

arrays = []  # empty list
for var in a:
    arrays.append([0] * var)  # adds a list of length var to arrays
如果您从
a=[3,3,4,1]
开始,那么
数组现在将是:

[[0, 0, 0], [0, 0, 0], [0, 0, 0, 0], [0]]

您可以通过以下方式动态创建阵列:

array = [i * [None] for i in a]
a1将是数组中的第一个元素,a2将是第二个元素,以此类推

a1 = array[0]
a2 = array[1]

您可以通过以下方式动态创建阵列:

array = [i * [None] for i in a]
a1将是数组中的第一个元素,a2将是第二个元素,以此类推

a1 = array[0]
a2 = array[1]

在这些新数组中,你需要什么元素?因此,用户给出的数组中的元素是每层神经网络中的节点数。我正在尝试获取这些元素。答案是,你不必担心内存分配;python为您做了这件事,您对此无能为力。请举例说明
a1
a2
a3
a4
。您似乎对解释性语言很陌生。。。这是蟒蛇的面包和黄油。首先,Python中的数组称为列表。其次,您不需要声明列表的长度,它们最终是隐藏的链表,但它们提供了类似数组的语义。很可能,你不需要做你想做的事。。。请尝试再次询问您计划如何处理这些列表。在这些新数组中,您需要哪些元素?因此,用户给定的数组中的元素是每层神经网络中的节点数。我正在尝试获取这些元素。答案是,您不必担心内存分配;python为您做了这件事,您对此无能为力。请举例说明
a1
a2
a3
a4
。您似乎对解释性语言很陌生。。。这是蟒蛇的面包和黄油。首先,Python中的数组称为列表。其次,您不需要声明列表的长度,它们最终是隐藏的链表,但它们提供了类似数组的语义。很可能,你不需要做你想做的事。。。请尝试再次询问您打算如何处理这些列表。他们从未询问过如何遍历列表。这不是我们第一次有这样的讨论;你还没有回答这个问题,因为这个问题根本不存在。根据数组的内容做一些事情必然会涉及到对数组的迭代,我可以从“因为我不知道
a
的长度”这句话中推断出他们不知道如何做他们从未问过如何反复浏览列表。这不是我们第一次有这样的讨论;你还没有回答这个问题,因为这个问题根本不存在。根据数组的内容做一些事情必然会涉及到对数组的迭代,我可以从“因为我不知道
a
的长度”这句话中推断出他们不知道如何做为了什么?我不明白这个问题的目的是什么?我不知道这个问题能解决什么