我正在尝试使用 python 中的 for 循环创建列表列表。我的计划是使用两个单独的循环;一个循环创建大列表以放入小列表,另一个循环创建小列表并将它们附加到大列表。
这被用来制作“战舰”类型的游戏,其中有 10x10 网格。
这是我遇到困难的代码块:
for i in range(0,10):
(newlist,(i))=[]
Run Code Online (Sandbox Code Playgroud)
该特定代码要完成的唯一任务是创建 10 个新列表,每个列表都有不同的名称。例如,循环的第一个循环将创建list0,第二个循环将创建list1,依此类推,直到list9。
从理论上讲,我认为这段代码没有任何问题。当您将字符串放入新变量而不是创建新列表时,它也可以工作。
每当我运行该程序时,我都会收到错误
ValueError: not enough values to unpack (expected 2, got 0)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会发生这种情况,如果这里有人能帮助我,我将非常感激。
您似乎有一个名为 的变量list,您想用一些列表填充该变量。您的代码不起作用,因为此语法用于从右侧的可迭代对象中提取两条数据。显然,[]它是空的,所以你无法从中提取任何内容。
你可以这样做:
your_list = [list() for x in range(9)]
Run Code Online (Sandbox Code Playgroud)
请注意,您不应调用该变量list,因为存在一个同名的内置函数,该函数会构造一个空列表。现在该变量使得内置函数无法访问。
编辑: 如果您需要有 10 个列表列表:
your_list = [[[] for x in range(9)] for y in range(10)]
Run Code Online (Sandbox Code Playgroud)
然后,your_list将是一个包含 10 个列表列表的列表。
| 归档时间: |
|
| 查看次数: |
90365 次 |
| 最近记录: |