【问题标题】:Python - Can I make a function that creates unique lists?Python - 我可以创建一个创建唯一列表的函数吗?
【发布时间】:2017-08-05 00:27:53
【问题描述】:
    def listmaker(n):
        if n % 4 == 0
        list ++ 'n' == []
        ....

我希望你能收集我的意图,该函数旨在创建一个列表,更一般地说,是多个列表。列表需要由函数确定它们的名称以保持唯一性,据我所知,没有简单的方法可以模拟我尝试的内容(用于命名或创建)。有什么办法可以有一个制作列表的函数吗?

【问题讨论】:

  • 您要创建多少个列表?这有什么意义?什么是示例输出?现在你的问题没有意义。请添加更多详细信息
  • 也许内置函数list 会满足你的问题=)。否则,@YagnaPatel 所说的 - 请提供示例、所需输出或编译代码

标签: python list


【解决方案1】:

如果您想要多个列表,请考虑使用字典:

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)]

输出

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

也许其中之一可以插入到您的函数中。

【讨论】:

    【解决方案2】:

    如果要将变量设置为空列表,则可以执行以下操作:

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

    现在,您将获得以下输出:

    >>> list1
    []
    >>> list2
    []
    

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 2020-01-01
      • 1970-01-01
      • 2018-07-18
      • 2021-12-17
      • 2020-01-12
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多