创建python列表

创建python列表,python,list,function,list-comprehension,Python,List,Function,List Comprehension,我需要在python中的函数中构建如此多的列表,以指示作为其参数之一给定的函数参数,即正整数。在python中,如何通过循环或列表理解来实现这一点?我相信这会满足您的要求: def makelists(list_count): list_of_lists = [] for _ in range(list_count): list_of_lists.append(list()) return list_of_lists 或使用列表: def makelis

我需要在python中的函数中构建如此多的列表,以指示作为其参数之一给定的函数参数,即正整数。在python中,如何通过循环或列表理解来实现这一点?

我相信这会满足您的要求:

def makelists(list_count):
    list_of_lists = []
    for _ in range(list_count):
        list_of_lists.append(list())
    return list_of_lists
或使用列表:

def makelists(list_count):
    return [[] for _ in range(list_count)]
如果您使用的是Python 2,请使用
xrange
(在2中,它可以避免在内存中创建
范围的完整列表,例如:

def makelists_py2(list_count):
    return [[] for _ in xrange(list_count)]

我正在使用
\uu
作为一次性变量,因为
范围
(和
xrange
)都返回我们不使用的递增整数。

您的意思是:

def make_lists(n):
   return [[] for _ in range(n)]

这将创建一个
n
空列表的列表。

您可以执行
[[]]*n
。这正是您所要求的,但它的行为可能与您预期的不同:

>>> my_list = [[]] * 7
>>> my_list
[[], [], [], [], [], [], []]
>>> my_list[0].append('foo')
>>> my_list
[['foo'], ['foo'], ['foo'], ['foo'], ['foo'], ['foo'], ['foo']]

不清楚你在问什么。给定一个数字
n
作为参数,是否要创建一个
n
列表列表?您的意思是为范围(0,输入)中的i创建
:列表()
?您的意思是为xrange中的u(列表计数)]
?close,xrange仅在Python 2中工作,但范围在Python 2和3中都工作,如果2次优。@YábirGarcia它不会做你认为它会做的事情,它们都是相同的列表,所以编辑一个会编辑它们。旁注,对于一个错误的给定答案,这里的标准协议是什么,但一个有趣的小道消息来自为什么它是错误的?我是保留答案和评论,还是删除它?@BradBeattie取决于你。你的答案没有错,因为OP不够具体。然而,你的答案也不是大多数用户认为OP在寻找的答案