创建python列表
我需要在python中的函数中构建如此多的列表,以指示作为其参数之一给定的函数参数,即正整数。在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
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在寻找的答案