所以这就是我的困境:我正在尝试创建一个程序,要求输入许多输入,每个输入都需要是一个可以容纳多个字段的列表。到目前为止,我能够动态创建它的唯一方法是通过以下方式:
numlists = eval(input("Enter the number of inputs: "))
parent_list = [ [] for i in range(numlists)]
例如,如果输入3,则输出为[[],[],[]]。但是,我现在想动态解包parent_list并将每个列表实例关联到另一个变量。因此,如果有3个输入,则parent_ list会动态解压缩为三个单独的列表变量:child1,child2和child3。如果有5,则通过child5动态解包到child1。
有没有人知道这样做的方法?
答案 0 :(得分:-1)
您可以进行扩展
number_of_lists = 3
list_of_lists = [ [] for i in range(number_of_lists)]
但是,如果您想要“命名”字段,您要么需要字典或类,这很难从您的应用程序中分辨出来。字典很简单:
dict_of_lists = dict ( ("child_%i" % k, []) for k in range(number_of_lists))
# {'child_0': [], 'child_1': [], 'child_2': []}
课程更难但不太糟糕:
class ListOfLists(object):
def __init__(self, number_of_lists):
for n in range (number_of_lists):
self.__dict__['child_%i' % n] = []
但是,您可能希望重新定义您的问题,以便更清楚地了解您需要对此数据执行的操作。