2017-08-05 128 views
-3
def listmaker(n): 
     if n % 4 == 0 
     list ++ 'n' == [] 
     .... 

我希望你能收集我的意图,函数是为了创建一个列表,更一般地说,多个列表。这些列表需要通过函数确定它们的名称,以保持唯一性,并且据我所知,没有简单的方法来模拟我尝试的方法(可用于命名或创建)。有什么办法可以让一个函数产生列表吗?Python - 我可以创建一个创建唯一列表的函数吗?

+0

多少列出你想使?这是什么意思?什么是输出示例?现在你的问题没有意义。请添加更多详细信息 –

+0

也许内置函数'list'可以满足你的问题=)。否则,@YagnaPatel说 - 请提供一个例子,所需的输出或编译代码 – Cireo

回答

0

如果你想多列表考虑使用的字典:

from collections import OrderedDict 

amount = 10 
nums = list(range(1,amount+1)) # 1,2,3... ,n 
OrderedDict(("list{}".format(num), []) for num in nums) 

输出

OrderedDict([('list1', []), 
      ('list2', []), 
      ('list3', []), 
      ('list4', []), 
      ('list5', []), 
      ('list6', []), 
      ('list7', []), 
      ('list8', []), 
      ('list9', []), 
      ('list10', [])]) 

或者干脆:

[[] for _ in range(11)] 

输出

[[], [], [], [], [], [], [], [], [], [], []] 

也许其中一个可以插入你的函数中。

0

如果希望变量被设置为空列表,那么你可以做到以下几点:

n = 10 
variable_names = ["list{}".format(i) for i in range(1, n + 1)] 
exec('=[];'.join(variable_names) + '=[];') 

现在,你会得到以下的输出:

>>> list1 
[] 
>>> list2 
[] 
相关问题