当前位置: 代码迷 >> python >> 如何在python中动态解压缩列表列表并将变量关联到它们?
  详细解决方案

如何在python中动态解压缩列表列表并将变量关联到它们?

热度:40   发布时间:2023-06-27 21:50:40.0

所以这是我的难题:我试图创建一个程序,要求输入多个输入,每个输入都需要是一个可以容纳多个字段的列表。 到目前为止,我能够动态创建此内容的唯一方法是通过以下操作:

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中。

有人知道这样做的方法吗?

你可以做扩展

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] = []

但是,您可能需要改写您的问题,这样您就可以更清楚地处理这些数据。